.elementor-1149 .elementor-element.elementor-element-2d719b1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--overflow:hidden;--padding-top:0px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}.elementor-1149 .elementor-element.elementor-element-7ea2a49b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:2;}.elementor-1149 .elementor-element.elementor-element-3ce34478{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 028px) 0px;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper .elementskit-section-title{color:#FFFFFF;margin:0px 0px 0px 0px;font-family:"Poppins", Sans-serif;font-size:50px;font-weight:500;line-height:1.14em;letter-spacing:-1.4px;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper .elementskit-section-title > span{color:#FFFFFF;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper .elementskit-section-title:hover > span{color:#FFFFFF;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper .elementskit-section-subtitle{color:#FFFFFF;font-size:28px;line-height:65px;margin:0px 0px 0px 0px;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper p{color:#F5F5F5;font-family:"Roboto", Sans-serif;font-size:19px;font-weight:400;line-height:1.5em;margin:3% 25% 0% 0%;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-one{background-color:#E54220;color:#FFFFFF;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:500;line-height:1.5em;border-radius:100px 100px 100px 100px;padding:15px 35px 15px 35px;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-one:hover{background-color:#B93418;color:#FFFFFF;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-two{background-color:#FFFFFF;color:#242F65;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:500;line-height:1.5em;border-radius:100px 100px 100px 100px;padding:15px 35px 15px 35px;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-two:hover{background-color:#E54220;color:#FFFFFF;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit_double_button{width:450px;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn:not(:last-child){margin-right:18px;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-one > i{padding-right:8px;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-one > svg{margin-right:8px;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-one svg{fill:#FFFFFF;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-one:hover svg{fill:#FFFFFF;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-two svg{fill:#242F65;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-two:hover svg{fill:#FFFFFF;}.elementor-1149 .elementor-element.elementor-element-43ca48e1{--display:flex;--min-height:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1149 .elementor-element.elementor-element-ce89bf4{width:var( --container-widget-width, 700px );max-width:700px;margin:0px -110px calc(var(--kit-widget-spacing, 0px) + 0px) -250px;--container-widget-width:700px;--container-widget-flex-grow:0;top:0px;z-index:1;}body:not(.rtl) .elementor-1149 .elementor-element.elementor-element-ce89bf4{left:0px;}body.rtl .elementor-1149 .elementor-element.elementor-element-ce89bf4{right:0px;}.elementor-1149 .elementor-element.elementor-element-383d2cf1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:2;}.elementor-1149 .elementor-element.elementor-element-383d2cf1 img{width:100%;max-width:100%;}.elementor-1149 .elementor-element.elementor-element-42b57dca{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:80px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1149 .elementor-element.elementor-element-42b57dca:not(.elementor-motion-effects-element-type-background), .elementor-1149 .elementor-element.elementor-element-42b57dca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F9FB;}.elementor-1149 .elementor-element.elementor-element-1f07fed{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:85px;--padding-bottom:90px;--padding-left:15px;--padding-right:15px;}.elementor-1149 .elementor-element.elementor-element-1f07fed:not(.elementor-motion-effects-element-type-background), .elementor-1149 .elementor-element.elementor-element-1f07fed > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1149 .elementor-element.elementor-element-26bb78e1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 53px) 0px;}.elementor-1149 .elementor-element.elementor-element-26bb78e1 .ekit-heading__description{max-width:570px;}.elementor-1149 .elementor-element.elementor-element-26bb78e1 .elementskit-section-title-wraper .elementskit-section-title{color:#242F65;margin:0px 0px 4px 0px;font-family:"Poppins", Sans-serif;font-size:48px;font-weight:600;line-height:1.4em;letter-spacing:-1.4px;}.elementor-1149 .elementor-element.elementor-element-26bb78e1 .elementskit-section-title-wraper .elementskit-section-title > span{color:#FF5151;}.elementor-1149 .elementor-element.elementor-element-26bb78e1 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-1149 .elementor-element.elementor-element-26bb78e1 .elementskit-section-title-wraper .elementskit-section-title > span{font-family:"Poppins", Sans-serif;font-weight:600;font-style:italic;line-height:1.4em;letter-spacing:-0.14px;}.elementor-1149 .elementor-element.elementor-element-26bb78e1 .elementskit-section-title-wraper p{color:#333333;font-family:"Roboto", Sans-serif;font-size:16px;font-weight:400;}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1149 .elementor-element.elementor-element-1ac512b6 .gallery-item .gallery-caption{display:none;}.elementor-1149 .elementor-element.elementor-element-1ac512b6 .gallery-item{padding:0 15px 15px 0;}.elementor-1149 .elementor-element.elementor-element-1ac512b6 .gallery{margin:0 -15px -15px 0;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1149 .elementor-element.elementor-element-1f07fed{--content-width:1120px;}}@media(max-width:1024px) and (min-width:768px){.elementor-1149 .elementor-element.elementor-element-7ea2a49b{--width:50%;}.elementor-1149 .elementor-element.elementor-element-43ca48e1{--width:50%;}}@media(max-width:1024px){.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper .elementskit-section-title{font-size:48px;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper p{font-size:16px;margin:0px 0px 0px 0px;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit_double_button{width:100%;}.elementor-1149 .elementor-element.elementor-element-43ca48e1{--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1149 .elementor-element.elementor-element-ce89bf4{margin:0px -40px calc(var(--kit-widget-spacing, 0px) + 0px) -100px;}.elementor-1149 .elementor-element.elementor-element-383d2cf1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1149 .elementor-element.elementor-element-42b57dca{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-1149 .elementor-element.elementor-element-2d719b1{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1149 .elementor-element.elementor-element-7ea2a49b{--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1149 .elementor-element.elementor-element-3ce34478{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper .elementskit-section-title{margin:0px 0px 11px 0px;font-size:36px;letter-spacing:-0.5px;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper .elementskit-section-subtitle{font-size:20px;line-height:1.1em;margin:0px 0px 0px 0px;}.elementor-1149 .elementor-element.elementor-element-3ce34478 .elementskit-section-title-wraper p{font-size:16px;margin:20px 0px 0px 0px;}.elementor-1149 .elementor-element.elementor-element-6605fb71{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit_double_button{width:100%;}.elementor-1149 .elementor-element.elementor-element-6605fb71 .ekit-double-btn.ekit-double-btn-one{margin:0px 0px 10px 0px;}.elementor-1149 .elementor-element.elementor-element-383d2cf1{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-1149 .elementor-element.elementor-element-383d2cf1 img{width:100%;}.elementor-1149 .elementor-element.elementor-element-42b57dca{--padding-top:40px;--padding-bottom:40px;--padding-left:5px;--padding-right:5px;}.elementor-1149 .elementor-element.elementor-element-1f07fed{--padding-top:80px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-1149 .elementor-element.elementor-element-26bb78e1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 23px) 0px;}.elementor-1149 .elementor-element.elementor-element-26bb78e1 .elementskit-section-title-wraper .elementskit-section-title{font-size:34px;}}/* Start custom CSS for container, class: .elementor-element-2d719b1 */.hero-gradient-dark {
  position: relative;
  background: linear-gradient(135deg, #1B203D, #243B70, #3C5BDB, #1B203D, #242F65);
  background-size: 200% 200%; /* lebih kecil, pergerakan subtle */
  animation: heroDarkShift 20s ease-in-out infinite; /* lebih perlahan & smooth */
  overflow: hidden;
  padding: 100px 20px;
  color: #ffffff;
}

.hero-gradient-dark::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.25);
  z-index: 1;
}

.hero-gradient-dark h1, 
.hero-gradient-dark p {
  position: relative;
  z-index: 2;
  text-shadow: 0 0 10px rgba(255,255,255,0.15);
}

@keyframes heroDarkShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 50% 50%; }
  100% { background-position: 0% 50%; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7ae231b *//* =========================================================
   TABLE CALENDAR PRINTING MALAYSIA
   CLEAN + CONSISTENT RESPONSIVE VERSION
========================================================= */

.deskcal-page{
  --dc-navy:#242F65;
  --dc-navy-dark:#171f4b;
  --dc-orange:#E54220;
  --dc-orange-dark:#c73719;
  --dc-white:#FFFFFF;

  --dc-text:#333333;
  --dc-muted:#687085;

  --dc-bg:#f7f8fc;
  --dc-soft:#f3f5fb;
  --dc-orange-soft:#fff3ef;

  --dc-border:#e2e5ee;

  --dc-radius-sm:10px;
  --dc-radius:16px;
  --dc-radius-lg:22px;

  --dc-shadow:
    0 10px 30px rgba(36,47,101,.07);

  width:100%;
  max-width:1180px;

  margin:0 auto;

  padding:
    20px
    20px
    60px;

  color:var(--dc-text);

  font-family:"Roboto",Arial,sans-serif;
  font-size:16px;
  line-height:1.75;

  box-sizing:border-box;

  overflow-x:hidden;
}


.deskcal-page *,
.deskcal-page *::before,
.deskcal-page *::after{
  box-sizing:border-box;
}


/* =========================================================
   GLOBAL RESET INSIDE PAGE
========================================================= */

.deskcal-page section,
.deskcal-page article,
.deskcal-page div{
  min-width:0;
}


.deskcal-page img{
  max-width:100%;
}


.deskcal-page ul,
.deskcal-page ol{
  max-width:100%;
}


/* =========================================================
   TYPOGRAPHY
========================================================= */

.deskcal-page h2,
.deskcal-page h3{
  margin-top:0;

  color:var(--dc-navy);

  font-family:"Poppins",Arial,sans-serif;

  line-height:1.28;
}


.deskcal-page h2{
  margin-bottom:16px;

  font-size:clamp(27px,3.2vw,38px);

  font-weight:700;
}


.deskcal-page h3{
  margin-bottom:10px;

  font-size:21px;

  font-weight:700;
}


.deskcal-page p{
  margin-top:0;
  margin-bottom:17px;
}


.deskcal-page strong{
  font-weight:700;
}


.deskcal-page a{
  text-decoration:none;
}


/* =========================================================
   GENERAL SECTIONS
========================================================= */

.deskcal-section{
  width:100%;

  margin-top:52px;

  margin-left:0;
  margin-right:0;

  padding-left:0;
  padding-right:0;
}


.deskcal-heading-group{
  width:100%;
  max-width:820px;

  margin-bottom:25px;
}


.deskcal-eyebrow{
  display:inline-block;

  margin-bottom:8px;

  color:var(--dc-orange);

  font-family:"Poppins",Arial,sans-serif;

  font-size:11px;
  font-weight:800;

  letter-spacing:.12em;
}


/* =========================================================
   INTRO
========================================================= */

.deskcal-intro{
  width:100%;
  max-width:920px;

  margin-bottom:35px;
}


.deskcal-intro h2{
  max-width:900px;
}


.deskcal-lead{
  color:#41485c;

  font-size:18px;
}


.deskcal-quick-grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:12px;

  width:100%;

  margin:26px 0;
}


.deskcal-quick-grid > div{
  min-width:0;

  padding:15px 16px;

  border:1px solid var(--dc-border);

  border-radius:12px;

  background:var(--dc-white);
}


.deskcal-quick-grid span{
  display:block;

  margin-bottom:3px;

  color:var(--dc-muted);

  font-size:11px;
  font-weight:700;
}


.deskcal-quick-grid strong{
  display:block;

  color:var(--dc-navy);

  font-family:"Poppins",Arial,sans-serif;

  font-size:14px;
}


/* =========================================================
   BUTTON
========================================================= */

.deskcal-btn{
  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-height:50px;

  padding:12px 22px;

  border:2px solid var(--dc-orange);

  border-radius:9px;

  background:var(--dc-orange);

  color:#fff !important;

  font-family:"Poppins",Arial,sans-serif;

  font-size:14px;
  font-weight:700;

  text-align:center;

  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}


.deskcal-btn:hover{
  border-color:var(--dc-navy);

  background:var(--dc-navy);

  color:#fff !important;

  transform:translateY(-1px);
}


/* =========================================================
   VISUAL
========================================================= */

.deskcal-visual-section{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:22px;

  width:100%;

  margin-top:40px;
}


.deskcal-visual-card{
  width:100%;

  overflow:hidden;

  border:1px solid var(--dc-border);

  border-radius:var(--dc-radius-lg);

  background:#fff;

  box-shadow:var(--dc-shadow);
}


.deskcal-visual-card img{
  display:block;

  width:100%;

  aspect-ratio:1 / 1;

  object-fit:contain;

  background:#f7f8fc;

  padding:18px;
}


.deskcal-visual-copy{
  padding:21px 22px 23px;
}


.deskcal-visual-copy > span{
  display:block;

  margin-bottom:4px;

  color:var(--dc-orange);

  font-size:11px;
  font-weight:800;

  letter-spacing:.1em;
}


.deskcal-visual-copy h3{
  margin:0 0 7px;
}


.deskcal-visual-copy p{
  margin:0;

  color:var(--dc-muted);

  font-size:14px;
}


/* =========================================================
   SPECIFICATIONS
========================================================= */

.deskcal-spec-section{
  width:100%;

  margin-top:55px;

  padding:34px;

  border-radius:var(--dc-radius-lg);

  background:var(--dc-soft);
}


.deskcal-spec-grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:14px;

  width:100%;
}


.deskcal-spec-grid article{
  width:100%;

  padding:20px;

  border:1px solid var(--dc-border);

  border-radius:13px;

  background:#fff;
}


.deskcal-spec-label{
  display:block;

  margin-bottom:8px;

  color:var(--dc-orange);

  font-size:10px;
  font-weight:800;

  letter-spacing:.1em;
}


.deskcal-spec-grid h3{
  margin-bottom:5px;

  font-size:17px;
}


.deskcal-spec-grid p{
  margin:0;

  color:var(--dc-muted);

  font-size:13px;
}


/* =========================================================
   SIZE
========================================================= */

.deskcal-size-grid{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:18px;

  width:100%;

  margin-top:25px;
}


.deskcal-size-card{
  width:100%;

  padding:25px;

  border:1px solid var(--dc-border);

  border-radius:var(--dc-radius);

  background:#fff;

  box-shadow:var(--dc-shadow);
}


.deskcal-size-tag{
  display:inline-block;

  margin-bottom:8px;

  color:var(--dc-orange);

  font-size:11px;
  font-weight:800;
}


.deskcal-size-card ul{
  width:100%;

  margin:20px 0 0 !important;

  padding:0 !important;

  padding-inline-start:0 !important;

  list-style:none;
}


.deskcal-size-card li{
  position:relative;

  width:100%;

  margin:0;

  padding:9px 0 9px 24px;

  border-top:1px solid var(--dc-border);

  color:var(--dc-navy);

  font-weight:700;

  list-style:none;
}


.deskcal-size-card li::before{
  content:"✓";

  position:absolute;

  left:0;

  color:var(--dc-orange);
}


/* =========================================================
   PAGE OPTIONS
========================================================= */

.deskcal-pages-section{
  width:100%;

  margin-top:55px;

  padding:35px;

  border:1px solid var(--dc-border);

  border-radius:var(--dc-radius-lg);

  background:
    linear-gradient(
      180deg,
      #fff,
      #f8f9fc
    );
}


.deskcal-page-options{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:16px;

  width:100%;
}


.deskcal-page-option{
  position:relative;

  width:100%;

  padding:24px;

  border:1px solid var(--dc-border);

  border-radius:15px;

  background:#fff;
}


.deskcal-page-option h3{
  font-size:19px;
}


.deskcal-page-option p{
  color:var(--dc-muted);

  font-size:14px;
}


.deskcal-page-option a{
  color:var(--dc-orange);

  font-weight:700;
}


.deskcal-popular{
  border:2px solid var(--dc-orange);
}


.deskcal-popular-badge{
  position:absolute;

  top:-12px;
  right:18px;

  padding:5px 10px;

  border-radius:999px;

  background:var(--dc-orange);

  color:#fff;

  font-size:10px;
  font-weight:800;
}


.deskcal-price-note{
  display:block;

  padding:11px 12px;

  border-radius:8px;

  background:var(--dc-orange-soft);

  color:var(--dc-orange);

  font-size:13px;
}


/* =========================================================
   COMPARISON
========================================================= */

.deskcal-comparison-grid{
  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:16px;

  width:100%;

  margin-top:22px;
}


.deskcal-comparison-grid > div{
  width:100%;

  padding:23px;

  border:1px solid var(--dc-border);

  border-radius:14px;

  background:#fff;
}


.deskcal-comparison-grid p{
  margin:0;

  color:var(--dc-muted);
}


/* =========================================================
   PRICE SECTION
========================================================= */

.deskcal-price-section{
  width:100%;

  margin-top:60px;

  padding:35px;

  border:1px solid var(--dc-border);

  border-radius:var(--dc-radius-lg);

  background:#fff;

  box-shadow:
    0 16px 45px rgba(36,47,101,.08);
}


.deskcal-price-head{
  width:100%;
  max-width:830px;
}


.deskcal-price-head h2{
  margin-bottom:10px;
}


.deskcal-price-badges{
  display:flex;

  flex-wrap:wrap;

  gap:8px;

  width:100%;

  margin-top:20px;
}


.deskcal-price-badges span{
  padding:7px 11px;

  border-radius:999px;

  background:var(--dc-soft);

  color:var(--dc-navy);

  font-size:12px;
  font-weight:700;
}


/* =========================================================
   PRICE TABLE
========================================================= */

.deskcal-table-wrap{
  width:100%;
  max-width:100%;

  margin-top:24px;

  overflow-x:auto;

  border:1px solid var(--dc-border);

  border-radius:14px;

  background:#fff;

  -webkit-overflow-scrolling:touch;
}


.deskcal-price-table{
  width:100%;

  min-width:620px;

  margin:0;

  border-collapse:separate;
  border-spacing:0;

  text-align:center;
}


.deskcal-price-table thead th{
  padding:15px;

  background:var(--dc-navy);

  color:#fff;

  font-family:"Poppins",Arial,sans-serif;

  font-size:13px;

  white-space:nowrap;
}


.deskcal-price-table thead th:first-child{
  text-align:left;
}


.deskcal-price-table tbody td{
  padding:13px 15px;

  border-right:1px solid var(--dc-border);
  border-bottom:1px solid var(--dc-border);

  white-space:nowrap;
}


.deskcal-price-table tbody td:first-child{
  color:var(--dc-navy);

  font-weight:700;

  text-align:left;
}


.deskcal-price-table tbody td:last-child{
  border-right:0;
}


.deskcal-price-table tbody tr:last-child td{
  border-bottom:0;
}


.deskcal-price-table tbody tr:nth-child(even){
  background:#f8f9fc;
}


.deskcal-price-table tbody tr:hover{
  background:var(--dc-orange-soft);
}


.deskcal-price-table tbody tr:hover td{
  color:var(--dc-orange-dark);
}


.deskcal-price-highlight td{
  background:#f1f3fa;

  font-weight:700;
}


/* =========================================================
   PRICE ALERT
========================================================= */

.deskcal-price-alert{
  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:25px;

  width:100%;

  margin-top:22px;

  padding:22px;

  border-radius:14px;

  background:var(--dc-navy);

  color:#fff;
}


.deskcal-price-alert > div{
  flex:1;
  min-width:0;
}


.deskcal-price-alert strong{
  display:block;

  margin-bottom:4px;

  color:#fff;

  font-family:"Poppins",Arial,sans-serif;
}


.deskcal-price-alert p{
  margin:0;

  color:rgba(255,255,255,.78);

  font-size:14px;
}


/* =========================================================
   USE CASE
========================================================= */

.deskcal-use-grid{
  display:flex;

  flex-wrap:wrap;

  gap:8px;

  width:100%;

  margin:22px 0;
}


.deskcal-use-grid span{
  padding:8px 12px;

  border:1px solid var(--dc-border);

  border-radius:999px;

  background:#fff;

  color:var(--dc-navy);

  font-size:13px;
  font-weight:700;
}


/* =========================================================
   FEATURES
========================================================= */

.deskcal-feature-grid{
  display:grid;

  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:10px;

  width:100%;

  margin:22px 0;
}


.deskcal-feature-grid > div{
  width:100%;

  padding:13px 14px;

  border:1px solid var(--dc-border);

  border-radius:10px;

  background:#fff;

  color:var(--dc-navy);

  font-size:13px;
  font-weight:700;
}


/* =========================================================
   ARTWORK
========================================================= */

.deskcal-artwork-section{
  display:grid;

  grid-template-columns:
    minmax(0,1.2fr)
    minmax(300px,.8fr);

  gap:25px;

  width:100%;

  margin-top:55px;

  padding:35px;

  border-radius:var(--dc-radius-lg);

  background:var(--dc-soft);
}


.deskcal-artwork-section > div{
  min-width:0;
}


.deskcal-artwork-section ul{
  margin:20px 0;

  padding-left:21px;
}


.deskcal-artwork-section li{
  margin-bottom:7px;
}


.deskcal-outline-btn{
  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:11px 18px;

  border:2px solid var(--dc-navy);

  border-radius:9px;

  color:var(--dc-navy) !important;

  font-weight:700;

  transition:.2s ease;
}


.deskcal-outline-btn:hover{
  background:var(--dc-navy);

  color:#fff !important;
}


.deskcal-artwork-note{
  width:100%;

  padding:25px;

  border-left:5px solid var(--dc-orange);

  border-radius:14px;

  background:#fff;
}


.deskcal-artwork-note > span{
  display:block;

  margin-bottom:7px;

  color:var(--dc-orange);

  font-size:10px;
  font-weight:800;

  letter-spacing:.1em;
}


.deskcal-artwork-note p{
  color:var(--dc-muted);
}


/* =========================================================
   PRODUCTION
========================================================= */

.deskcal-production-box{
  display:flex;

  align-items:center;

  gap:30px;

  width:100%;

  margin:22px 0;

  padding:23px;

  border:1px solid var(--dc-border);

  border-radius:14px;

  background:#fff;
}


.deskcal-production-box > div{
  min-width:230px;
}


.deskcal-production-box span{
  display:block;

  color:var(--dc-muted);

  font-size:11px;
}


.deskcal-production-box strong{
  display:block;

  color:var(--dc-orange);

  font-family:"Poppins",Arial,sans-serif;

  font-size:20px;
}


.deskcal-production-box p{
  margin:0;

  color:var(--dc-muted);
}


/* =========================================================
   ORDER STEPS
========================================================= */

.deskcal-page .deskcal-steps{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:14px;

  width:100%;
  max-width:100%;

  margin:
    25px
    0
    0 !important;

  padding:0 !important;

  padding-left:0 !important;
  padding-right:0 !important;
  padding-inline-start:0 !important;

  margin-left:0 !important;
  margin-right:0 !important;

  list-style:none !important;
}


.deskcal-page .deskcal-steps li{
  width:100%;
  max-width:100%;
  min-width:0;

  margin:0 !important;

  padding:20px;

  border:1px solid var(--dc-border);

  border-radius:13px;

  background:#fff;

  list-style:none !important;
}


.deskcal-page .deskcal-steps li::marker{
  content:"";

  font-size:0;
}


.deskcal-page .deskcal-steps li > span{
  display:block;

  margin:0 0 8px;

  color:var(--dc-orange);

  font-size:12px;
  font-weight:800;
}


.deskcal-page .deskcal-steps strong{
  display:block;

  margin:0 0 5px;

  color:var(--dc-navy);

  font-family:"Poppins",Arial,sans-serif;
}


.deskcal-page .deskcal-steps p{
  margin:0;

  color:var(--dc-muted);

  font-size:13px;
}


/* =========================================================
   TRUST
========================================================= */

.deskcal-trust{
  width:100%;

  margin-top:60px;

  padding:38px;

  border-radius:var(--dc-radius-lg);

  background:
    linear-gradient(
      135deg,
      var(--dc-navy),
      #34427f
    );

  color:#fff;

  box-shadow:
    0 18px 48px rgba(36,47,101,.18);
}


.deskcal-trust-label{
  display:block;

  margin-bottom:7px;

  color:#ffb39f;

  font-size:11px;
  font-weight:800;

  letter-spacing:.11em;
}


.deskcal-trust h2{
  color:#fff;
}


.deskcal-trust p{
  color:rgba(255,255,255,.83);
}


.deskcal-trust strong{
  color:#fff;
}


.deskcal-btn-light:hover{
  border-color:#fff;

  background:#fff;

  color:var(--dc-navy) !important;
}


/* =========================================================
   FAQ
========================================================= */

.deskcal-faq{
  width:100%;

  margin-top:60px;
}


.deskcal-faq details{
  width:100%;

  margin-bottom:9px;

  border:1px solid var(--dc-border);

  border-radius:11px;

  background:#fff;

  overflow:hidden;
}


.deskcal-faq summary{
  position:relative;

  width:100%;

  padding:
    16px
    50px
    16px
    18px;

  color:var(--dc-navy);

  font-family:"Poppins",Arial,sans-serif;

  font-weight:700;

  cursor:pointer;

  list-style:none;
}


.deskcal-faq summary::-webkit-details-marker{
  display:none;
}


.deskcal-faq summary::after{
  content:"+";

  position:absolute;

  right:18px;
  top:50%;

  transform:translateY(-50%);

  color:var(--dc-orange);

  font-size:24px;
}


.deskcal-faq details[open] summary::after{
  content:"−";
}


.deskcal-faq details[open] summary{
  border-bottom:1px solid var(--dc-border);

  background:#f8f9fc;
}


.deskcal-faq details p{
  margin:0;

  padding:16px 18px;
}


/* =========================================================
   FINAL CTA
========================================================= */

.deskcal-final-cta{
  width:100%;

  margin-top:60px;

  padding:45px 35px;

  border-radius:var(--dc-radius-lg);

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(229,66,32,.28),
      transparent 38%
    ),
    var(--dc-navy-dark);

  color:#fff;

  text-align:center;
}


.deskcal-final-cta > span{
  display:block;

  margin-bottom:7px;

  color:#ffb39f;

  font-size:11px;
  font-weight:800;

  letter-spacing:.12em;
}


.deskcal-final-cta h2{
  max-width:780px;

  margin:
    0
    auto
    15px;

  color:#fff;
}


.deskcal-final-cta p{
  max-width:760px;

  margin:
    0
    auto
    18px;

  color:rgba(255,255,255,.8);
}


.deskcal-final-points{
  display:flex;

  justify-content:center;

  flex-wrap:wrap;

  gap:8px;

  width:100%;

  margin-bottom:24px;
}


.deskcal-final-points span{
  padding:7px 11px;

  border:1px solid rgba(255,255,255,.2);

  border-radius:999px;

  color:#fff;

  font-size:12px;
}


.deskcal-final-cta > a{
  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-height:52px;

  padding:13px 25px;

  border:2px solid var(--dc-orange);

  border-radius:9px;

  background:var(--dc-orange);

  color:#fff;

  font-family:"Poppins",Arial,sans-serif;

  font-weight:700;

  transition:.2s ease;
}


.deskcal-final-cta > a:hover{
  border-color:#fff;

  background:#fff;

  color:var(--dc-navy);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:950px){

  .deskcal-quick-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  .deskcal-spec-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  .deskcal-page-options{
    grid-template-columns:1fr;
  }


  .deskcal-feature-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  .deskcal-artwork-section{
    grid-template-columns:1fr;
  }


  .deskcal-page .deskcal-steps{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


/* =========================================================
   MOBILE
   CONSISTENT LEFT + RIGHT ALIGNMENT
========================================================= */

@media(max-width:767px){

  /* -----------------------------------------
     MAIN PAGE EDGE
  ----------------------------------------- */

  .deskcal-page{
    width:100%;
    max-width:100%;

    margin:0 auto;

    padding:
      14px
      14px
      45px;

    font-size:15px;

    overflow-x:hidden;
  }


  /* -----------------------------------------
     TYPOGRAPHY
  ----------------------------------------- */

  .deskcal-page h2{
    margin-bottom:14px;

    font-size:27px;

    line-height:1.3;
  }


  .deskcal-page h3{
    font-size:19px;
  }


  .deskcal-lead{
    font-size:16px;
  }


  /* -----------------------------------------
     ALL MAIN SECTIONS SAME WIDTH
  ----------------------------------------- */

  .deskcal-intro,
  .deskcal-visual-section,
  .deskcal-section,
  .deskcal-spec-section,
  .deskcal-pages-section,
  .deskcal-price-section,
  .deskcal-artwork-section,
  .deskcal-trust,
  .deskcal-faq,
  .deskcal-final-cta{
    width:100%;
    max-width:100%;

    margin-left:0;
    margin-right:0;
  }


  /* -----------------------------------------
     NORMAL SECTIONS
  ----------------------------------------- */

  .deskcal-section{
    margin-top:42px;

    padding-left:0;
    padding-right:0;
  }


  /* -----------------------------------------
     INTRO
  ----------------------------------------- */

  .deskcal-intro{
    margin-bottom:30px;
  }


  .deskcal-quick-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:10px;

    width:100%;
  }


  .deskcal-quick-grid > div{
    width:100%;

    padding:13px 14px;
  }


  /* -----------------------------------------
     VISUAL
  ----------------------------------------- */

  .deskcal-visual-section{
    grid-template-columns:1fr;

    gap:16px;

    margin-top:30px;
  }


  .deskcal-visual-card{
    width:100%;
  }


  .deskcal-visual-card img{
    width:100%;

    aspect-ratio:1 / 1;

    object-fit:contain;

    padding:12px;
  }


  .deskcal-visual-copy{
    padding:18px 16px;
  }


  /* -----------------------------------------
     BOXED MAIN SECTIONS
     SAME WIDTH + SAME INTERNAL PADDING
  ----------------------------------------- */

  .deskcal-spec-section,
  .deskcal-pages-section,
  .deskcal-price-section,
  .deskcal-artwork-section,
  .deskcal-trust{
    margin-top:42px;

    padding:
      22px
      16px;

    border-radius:17px;
  }


  /* -----------------------------------------
     SPEC CARDS
  ----------------------------------------- */

  .deskcal-spec-grid{
    grid-template-columns:1fr;

    gap:12px;

    width:100%;
  }


  .deskcal-spec-grid article{
    width:100%;

    padding:18px 16px;
  }


  /* -----------------------------------------
     SIZE
  ----------------------------------------- */

  .deskcal-size-grid{
    grid-template-columns:1fr;

    gap:14px;

    width:100%;
  }


  .deskcal-size-card{
    width:100%;

    padding:20px 16px;
  }


  /* -----------------------------------------
     PAGE OPTIONS
  ----------------------------------------- */

  .deskcal-page-options{
    grid-template-columns:1fr;

    gap:13px;

    width:100%;
  }


  .deskcal-page-option{
    width:100%;

    padding:20px 16px;
  }


  /* -----------------------------------------
     COMPARISON
  ----------------------------------------- */

  .deskcal-comparison-grid{
    grid-template-columns:1fr;

    gap:12px;

    width:100%;
  }


  .deskcal-comparison-grid > div{
    width:100%;

    padding:19px 16px;
  }


  /* -----------------------------------------
     PRICE
  ----------------------------------------- */

  .deskcal-price-head{
    width:100%;
    max-width:100%;
  }


  .deskcal-price-badges{
    width:100%;

    gap:6px;
  }


  .deskcal-table-wrap{
    width:100%;
    max-width:100%;

    margin-left:0;
    margin-right:0;

    border-radius:11px;
  }


  .deskcal-price-table{
    min-width:570px;
  }


  .deskcal-price-table thead th,
  .deskcal-price-table tbody td{
    padding:11px 10px;
  }


  .deskcal-price-alert{
    flex-direction:column;

    align-items:stretch;

    width:100%;

    gap:16px;

    padding:18px 16px;
  }


  .deskcal-price-alert .deskcal-btn{
    width:100%;
  }


  /* -----------------------------------------
     USE CASE
  ----------------------------------------- */

  .deskcal-use-grid{
    width:100%;

    gap:7px;
  }


  /* -----------------------------------------
     FEATURES
  ----------------------------------------- */

  .deskcal-feature-grid{
    grid-template-columns:1fr;

    gap:9px;

    width:100%;
  }


  .deskcal-feature-grid > div{
    width:100%;
  }


  /* -----------------------------------------
     ARTWORK
  ----------------------------------------- */

  .deskcal-artwork-section{
    grid-template-columns:1fr;

    gap:16px;
  }


  .deskcal-artwork-section > div{
    width:100%;
  }


  .deskcal-artwork-section ul{
    padding-left:20px;
  }


  .deskcal-artwork-note{
    width:100%;

    padding:18px 16px;
  }


  .deskcal-outline-btn{
    width:100%;
  }


  /* -----------------------------------------
     PRODUCTION
  ----------------------------------------- */

  .deskcal-production-box{
    flex-direction:column;

    align-items:flex-start;

    width:100%;

    gap:12px;

    padding:19px 16px;
  }


  .deskcal-production-box > div{
    width:100%;

    min-width:0;
  }


  /* -----------------------------------------
     STEPS
     COMPLETE WP/ASTRA RESET
  ----------------------------------------- */

  .deskcal-page .deskcal-steps{
    display:grid;

    grid-template-columns:1fr;

    gap:12px;

    width:100%;
    max-width:100%;

    margin:
      22px
      0
      0 !important;

    margin-left:0 !important;
    margin-right:0 !important;

    padding:0 !important;

    padding-left:0 !important;
    padding-right:0 !important;
    padding-inline:0 !important;
    padding-inline-start:0 !important;

    list-style:none !important;

    transform:none !important;
  }


  .deskcal-page .deskcal-steps li{
    width:100%;
    max-width:100%;

    margin:0 !important;

    padding:
      18px
      16px;

    list-style:none !important;
  }


  .deskcal-page .deskcal-steps li::marker{
    content:"";

    font-size:0;
  }


  /* -----------------------------------------
     TRUST
  ----------------------------------------- */

  .deskcal-trust{
    width:100%;
  }


  .deskcal-trust .deskcal-btn{
    width:100%;
  }


  /* -----------------------------------------
     FAQ
  ----------------------------------------- */

  .deskcal-faq{
    margin-top:42px;
  }


  .deskcal-faq details{
    width:100%;
  }


  .deskcal-faq summary{
    width:100%;

    padding:
      15px
      46px
      15px
      16px;
  }


  .deskcal-faq details p{
    padding:15px 16px;
  }


  /* -----------------------------------------
     FINAL CTA
  ----------------------------------------- */

  .deskcal-final-cta{
    margin-top:42px;

    padding:
      30px
      16px;

    border-radius:17px;
  }


  .deskcal-final-points{
    width:100%;

    gap:6px;
  }


  .deskcal-final-cta > a{
    width:100%;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

  .deskcal-page{
    padding-left:12px;
    padding-right:12px;
  }


  .deskcal-page h2{
    font-size:24px;
  }


  .deskcal-page h3{
    font-size:18px;
  }


  .deskcal-quick-grid{
    grid-template-columns:1fr;
  }


  .deskcal-visual-card img{
    padding:9px;
  }


  .deskcal-spec-section,
  .deskcal-pages-section,
  .deskcal-price-section,
  .deskcal-artwork-section,
  .deskcal-trust{
    padding-left:14px;
    padding-right:14px;
  }


  .deskcal-spec-grid article,
  .deskcal-page-option,
  .deskcal-size-card,
  .deskcal-comparison-grid > div,
  .deskcal-production-box{
    padding-left:15px;
    padding-right:15px;
  }


  .deskcal-price-table{
    min-width:550px;
  }


  .deskcal-page .deskcal-steps{
    width:100%;

    margin-left:0 !important;
    margin-right:0 !important;

    padding:0 !important;

    padding-inline-start:0 !important;
  }


  .deskcal-page .deskcal-steps li{
    width:100%;

    margin:0 !important;

    padding:
      17px
      15px;
  }


  .deskcal-faq summary{
    font-size:14px;
  }


  .deskcal-final-cta{
    padding-left:15px;
    padding-right:15px;
  }

}/* End custom CSS */