@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ############################################################
   DEZINESQUAD — ALL SITE CSS (single file for Additional CSS)
     1) Our Work / Samples — staircase gallery
     2) Checkout: billing (left) · Order Summary (top-right) ·
        Payment/Place Order (full-width bottom)   [layout verified]
     3) Global / other-page rules
   NOTE: this must be the ONLY checkout CSS. Remove any other
   checkout rules from Site Settings / Customize to avoid clashes.
   ############################################################ */


/* ============================================================
   1) OUR WORK / SAMPLES — staircase gallery
   ============================================================ */
.elementor-element-0424b42{ --dzs-step:90px; }
.elementor-element-0424b42 .e-gallery-item{
  margin-left:0 !important;
  margin-top:calc(var(--column) * var(--dzs-step)) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.elementor-element-0424b42 .e-gallery-container{ border-bottom:calc(var(--dzs-step) * 2) solid transparent; }
@media (max-width:1024px){ .elementor-element-0424b42{ --dzs-step:55px; } }
@media (max-width:767px){
  .elementor-element-0424b42 .e-gallery-item{ margin-top:0 !important; }
  .elementor-element-0424b42 .e-gallery-container{ border-bottom:0 !important; }
}


/* ============================================================
   2) CHECKOUT  (scoped to .woocommerce-checkout)
   ============================================================ */
.woocommerce-checkout{
  --dz-green:#c4f000;
  --dz-text:#ececf1;
  --dz-muted:#bdbdbd;
  --dz-line:rgba(255,255,255,.14);
  --dz-card:rgba(255,255,255,.035);
  --dz-pink1:#ff54bd;
  --dz-pink2:#ff1f8e;
  --dz-plan-desc:"The Starter Plan includes all static design services such as social media graphics, presentations, banners, flyers, brochures, and backgrounds.";
  background:#000 !important;
  color:#fff;
}
.woocommerce-checkout .e-checkout__container,
.woocommerce-checkout .e-checkout__container input,
.woocommerce-checkout .e-checkout__container select,
.woocommerce-checkout .e-checkout__container textarea,
.woocommerce-checkout .e-checkout__container button,
.woocommerce-checkout .select2-container,
.woocommerce-checkout .select2-dropdown{ font-family:'Poppins',sans-serif; }

/* ---- LAYOUT: billing left | summary top-right | payment full-width bottom ---- */
.woocommerce-checkout .e-checkout__column-end{ display:contents; }
.woocommerce-checkout .e-checkout__column-inner{ display:contents; }
.woocommerce-checkout .e-checkout__container{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 460px;
  grid-template-areas:"bill summary" "pay pay";
  gap:40px 48px; align-items:start; color:var(--dz-text);
}
.woocommerce-checkout .e-checkout__column-start{ grid-area:bill; min-width:0; }
.woocommerce-checkout .e-checkout__order_review{ grid-area:summary; }
.woocommerce-checkout .e-checkout__order_review-2{ grid-area:pay; margin-top:0; }
@media (max-width:900px){
  .woocommerce-checkout .e-checkout__container{
    grid-template-columns:1fr; grid-template-areas:"bill" "summary" "pay"; gap:26px;
  }
}

/* ---- billing: hidden labels + underline inputs ---- */
.woocommerce-checkout .woocommerce-billing-fields > h3{
  color:var(--dz-green); font-weight:800; font-size:30px; margin:0 0 24px;
}
.woocommerce-checkout .woocommerce-billing-fields .form-row label{ display:none !important; }
.woocommerce-checkout .form-row{ margin:0 0 18px !important; padding:0 !important; }
.woocommerce-checkout .input-text,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout .select2-selection--single{
  background:transparent !important; border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important; border-radius:0 !important;
  color:#fff !important; padding:6px 2px 12px !important; font-size:16px !important;
  box-shadow:none !important; width:100%; height:auto !important; transition:border-color .2s ease;
}
.woocommerce-checkout .input-text::placeholder,
.woocommerce-checkout textarea::placeholder{ color:#9a9a9a; opacity:1; }
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout textarea:focus{ outline:0; border-bottom-color:var(--dz-green) !important; }

/* ---- select2 (Country / State) — scoped ---- */
.woocommerce-checkout .select2-selection--single .select2-selection__rendered{ color:#fff !important; line-height:normal !important; padding-left:0 !important; }
.woocommerce-checkout .select2-selection--single .select2-selection__arrow{ top:4px !important; }
.woocommerce-checkout .select2-selection--single .select2-selection__arrow b{ border-color:#9a9a9a transparent transparent transparent !important; }
.woocommerce-checkout .select2-dropdown{ background:#141414 !important; border:1px solid rgba(255,255,255,.15) !important; border-radius:10px !important; overflow:hidden; }
.woocommerce-checkout .select2-search--dropdown .select2-search__field{ background:#1f1f1f !important; border:1px solid rgba(255,255,255,.15) !important; border-radius:6px !important; color:#fff !important; padding:8px 10px !important; }
.woocommerce-checkout .select2-results__option{ color:#cfcfcf !important; background:#141414 !important; padding:10px 14px !important; }
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted{ background:var(--dz-green) !important; color:#000 !important; font-weight:600; }
.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"]{ background:#2a2a2a !important; color:#fff !important; }
.woocommerce-checkout .select2-results__options::-webkit-scrollbar{ width:8px; }
.woocommerce-checkout .select2-results__options::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.2); border-radius:8px; }
.woocommerce-checkout .select2-results__options::-webkit-scrollbar-track{ background:#141414; }

/* hide the "added to cart" notice */
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message{ display:none !important; }

/* ---- ORDER SUMMARY card (!important beats WooCommerce/Elementor overrides) ---- */
.woocommerce-checkout .e-checkout__order_review{
  background:linear-gradient(180deg,#141416 0%,#0a0a0c 100%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:20px !important; padding:28px 30px !important;
  box-shadow:0 24px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.woocommerce-checkout #order_review_heading{ color:var(--dz-green) !important; font-weight:800; font-size:26px; margin:0 0 20px; }
.woocommerce-checkout .e-checkout__order_review .woocommerce-checkout-review-order-table,
.woocommerce-checkout .e-checkout__order_review .woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout .e-checkout__order_review .woocommerce-checkout-review-order-table tfoot{
  display:block !important; width:100% !important; float:none !important; max-width:none !important;
}
.woocommerce-checkout .e-checkout__order_review .cart_item{ display:block !important; }
.woocommerce-checkout .e-checkout__order_review .woocommerce-checkout-review-order-table thead{ display:none !important; }
.woocommerce-checkout .e-checkout__order_review .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .e-checkout__order_review .woocommerce-checkout-review-order-table td{
  border:0 !important; background:transparent !important; padding:0 !important; text-align:left !important; float:none !important;
}

/* product row -> plan title + description (hard reset so nothing can shrink it) */
.woocommerce-checkout .e-checkout__order_review .cart_item{ display:block !important; width:100% !important; float:none !important; padding:0 0 4px !important; margin:0 !important; }
.woocommerce-checkout .e-checkout__order_review .cart_item .product-quantity,
.woocommerce-checkout .e-checkout__order_review .cart_item .product-total{ display:none !important; }
.woocommerce-checkout .e-checkout__order_review .cart_item .product-name{
  display:block !important; float:none !important; clear:both !important;
  width:100% !important; max-width:none !important; white-space:normal !important;
  color:#fff !important; font-size:21px !important; font-weight:500 !important; line-height:1.3 !important;
}
.woocommerce-checkout .e-checkout__order_review .cart_item .product-name::after{
  content:var(--dz-plan-desc) !important;
  display:block !important; width:100% !important; float:none !important; margin-top:10px !important;
  color:var(--dz-muted) !important; font-size:14px !important; font-weight:400 !important; line-height:1.55 !important; white-space:normal !important;
}

.woocommerce-checkout .e-checkout__order_review .cart-subtotal,
.woocommerce-checkout .e-checkout__order_review .tax-total,
.woocommerce-checkout .e-checkout__order_review .order-total{
  display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
  justify-content:space-between !important; align-items:baseline !important; gap:16px !important; width:100% !important;
}
.woocommerce-checkout .e-checkout__order_review .cart-subtotal{ border-top:1px solid rgba(255,255,255,.22) !important; margin-top:20px !important; padding-top:20px !important; }
.woocommerce-checkout .e-checkout__order_review .tax-total{ margin-top:8px !important; }
.woocommerce-checkout .e-checkout__order_review .order-total{ border-top:1px solid rgba(255,255,255,.22) !important; margin-top:18px !important; padding-top:18px !important; }
.woocommerce-checkout .e-checkout__order_review .tax-total th{ color:var(--dz-text) !important; font-weight:400; font-size:16px !important; display:block !important; width:auto !important; margin:0 !important; }
/* rename "Subtotal" -> "Price": hide original text, inject label */
.woocommerce-checkout .e-checkout__order_review .cart-subtotal th{ font-size:0 !important; color:transparent !important; font-weight:400 !important; display:block !important; width:auto !important; margin:0 !important; line-height:1.4 !important; }
.woocommerce-checkout .e-checkout__order_review .cart-subtotal th::after{ content:"Price"; font-size:16px !important; color:var(--dz-text) !important; font-weight:400 !important; }
.woocommerce-checkout .e-checkout__order_review .cart-subtotal td,
.woocommerce-checkout .e-checkout__order_review .tax-total td{ color:#fff !important; font-size:16px; display:block !important; width:auto !important; text-align:right !important; margin:0 !important; }
.woocommerce-checkout .e-checkout__order_review .order-total th{ color:#fff !important; font-weight:700; font-size:18px; display:block !important; width:auto !important; margin:0 !important; }
.woocommerce-checkout .order-total td,
.woocommerce-checkout .order-total td strong,
.woocommerce-checkout .order-total .woocommerce-Price-amount{ color:#fff; font-weight:700; font-size:18px; }

/* ---- WooCommerce error / validation notices -> dark theme ---- */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-NoticeGroup > ul,
.woocommerce-checkout ul.woocommerce-error{
  background:rgba(255,64,96,.08) !important;
  border:1px solid rgba(255,80,110,.45) !important;
  border-left:4px solid #ff4d6d !important;
  border-radius:12px !important;
  color:var(--dz-text) !important;
  padding:16px 20px 16px 22px !important;
  margin:0 0 26px !important;
  list-style:none !important;
  box-shadow:none !important;
}
.woocommerce-checkout .woocommerce-error li{ color:#ffb3c1 !important; margin:2px 0 !important; }
.woocommerce-checkout .woocommerce-error li strong{ color:#ff6b85 !important; font-weight:700 !important; }
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-checkout .woocommerce-error li::before{ color:#ff4d6d !important; background:transparent !important; }
.woocommerce-checkout .woocommerce-error a,
.woocommerce-checkout .woocommerce-info a{ color:var(--dz-green) !important; }

/* per-field "is a required field" text under inputs */
.woocommerce-checkout .form-row .woocommerce-error,
.woocommerce-checkout .form-row > .woocommerce-error,
.woocommerce-checkout .validate-required.woocommerce-invalid > .woocommerce-error,
.woocommerce-checkout .field-validation-error,
.woocommerce-checkout .wc-block-components-validation-error{
  background:transparent !important; border:0 !important; padding:4px 0 0 !important; margin:4px 0 0 !important;
  color:#ff6b85 !important; font-size:13px !important; border-radius:0 !important;
}

/* highlight invalid fields with a red underline */
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid textarea.input-text,
.woocommerce-checkout .woocommerce-invalid .select2-selection--single{
  border-bottom-color:#ff4d6d !important;
}

/* ---- PAYMENT / PLACE ORDER card (full-width bottom) ---- */
.woocommerce-checkout .e-checkout__order_review-2{
  background:var(--dz-card); border:1px solid var(--dz-line); border-radius:16px; padding:24px 26px;
}
.woocommerce-checkout #payment{ background:transparent !important; border:0; padding:0; }
.woocommerce-checkout #payment ul.payment_methods{ border:0; list-style:none; margin:0 0 14px; padding:0; }
.woocommerce-checkout .payment_method_razorpay > label{ color:var(--dz-text); font-weight:600; display:flex; align-items:center; gap:10px; }
.woocommerce-checkout #payment .payment_box{ background:transparent !important; color:var(--dz-muted); font-size:13px; }
.woocommerce-checkout #payment .payment_box::before{ display:none !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text p{ color:var(--dz-muted); font-size:13px; margin:6px 0 16px; }
.woocommerce-checkout .woocommerce-privacy-policy-text a{ color:var(--dz-green); font-weight:600; }
.woocommerce-checkout #place_order{
  width:100%; border:0 !important; border-radius:999px !important;
  padding:16px 24px !important; font-size:18px; font-weight:700; color:#fff !important; cursor:pointer;
  background:linear-gradient(90deg,var(--dz-pink1),var(--dz-pink2)) !important;
  box-shadow:0 10px 30px rgba(255,31,142,.35); transition:transform .15s ease, box-shadow .15s ease;
}
.woocommerce-checkout #place_order:hover{ transform:translateY(-2px); box-shadow:0 14px 38px rgba(255,31,142,.5); }


/* ============================================================
   3) GLOBAL / OTHER-PAGE rules
   ============================================================ */
#ast-scroll-top{ display:none !important; }
#samples-scroll{ scroll-margin-top:130px; }
.elementor-element-8a48218:not(.elementor-sticky__spacer){ opacity:0; pointer-events:none; transition:opacity .3s ease; }
html, body{ overflow-x:hidden; }
.samples-arrow:not(.elementor-sticky__spacer){
  position:fixed !important; bottom:30px !important; right:30px !important;
  left:auto !important; top:auto !important; width:auto !important; max-width:80px !important; z-index:999;
}