/* Vidyanik Transaction Base 1.4.86
 * Shared shell for classic WooCommerce Cart + Checkout only.
 * Kadence owns the global header/footer. WooCommerce owns business logic.
 */
:root{
  --vid-tx-deep:#061d3c;
  --vid-tx-navy:#082953;
  --vid-tx-blue:#0b6ea8;
  --vid-tx-blue-hover:#07588d;
  --vid-tx-text:#17314d;
  --vid-tx-muted:#5b7083;
  --vid-tx-soft:#eef6fb;
  --vid-tx-page:#f4f8fb;
  --vid-tx-card:#fff;
  --vid-tx-border:#d5e3ed;
  --vid-tx-border-strong:#c4d7e5;
  --vid-tx-danger:#d92d20;
  --vid-tx-danger-soft:#fff4f2;
  --vid-tx-shadow:0 14px 38px rgba(8,41,83,.06);
  --vid-tx-max:1160px;
}

body.vidyanik-cart-page,
body.vidyanik-checkout-page{
  background:var(--vid-tx-page);
  color:var(--vid-tx-text);
}

/* Content shell only. Never target Kadence header/footer .site-container nodes. */
body.vidyanik-cart-page .content-container.site-container,
body.vidyanik-checkout-page .content-container.site-container{
  width:100% !important;
  max-width:none !important;
  padding-inline:0 !important;
}
body.vidyanik-cart-page #primary,
body.vidyanik-checkout-page #primary,
body.vidyanik-cart-page .content-area,
body.vidyanik-checkout-page .content-area{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
body.vidyanik-cart-page .site-main,
body.vidyanik-checkout-page .site-main{
  box-sizing:border-box;
  width:min(var(--vid-tx-max),calc(100% - 40px)) !important;
  max-width:var(--vid-tx-max) !important;
  margin-inline:auto !important;
  padding:24px 0 64px !important;
}
body.vidyanik-cart-page .site-main > article,
body.vidyanik-checkout-page .site-main > article,
body.vidyanik-cart-page .site-main > .content-bg,
body.vidyanik-checkout-page .site-main > .content-bg,
body.vidyanik-cart-page .entry-content-wrap,
body.vidyanik-checkout-page .entry-content-wrap,
body.vidyanik-cart-page .entry-content,
body.vidyanik-checkout-page .entry-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.vidyanik-cart-page .entry-header,
body.vidyanik-checkout-page .entry-header{display:none !important}
body.vidyanik-cart-page .woocommerce,
body.vidyanik-checkout-page .woocommerce{
  box-sizing:border-box;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

/* Plugin-owned structural boundary around the classic shortcode output.
 * This is intentionally outside .woocommerce so theme/Customizer/optimizer rules
 * that target WooCommerce cannot take ownership of the page gutter. */
body.vidyanik-cart-page .vid-transaction-frame,
body.vidyanik-checkout-page .vid-transaction-frame{
  box-sizing:border-box;
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
}

body.vidyanik-cart-page .vid-kicker,
body.vidyanik-checkout-page .vid-kicker,
.vid-cart-custom__eyebrow{
  margin:0;
  color:var(--vid-tx-blue);
  font-size:.69rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

body.vidyanik-cart-page :where(a,button,input,select,textarea):focus-visible,
body.vidyanik-checkout-page :where(a,button,input,select,textarea):focus-visible{
  outline:3px solid rgba(11,110,168,.2);
  outline-offset:2px;
}

.vid-cart-v4__head,
.vid-checkout-v4__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:0 0 22px;
  padding:0 0 18px;
  border-bottom:1px solid var(--vid-tx-border);
}
.vid-cart-v4__head > div:first-child,
.vid-checkout-v4__head > div:first-child{min-width:0}
.vid-cart-v4__head h1,
.vid-checkout-v4__head h1{
  margin:6px 0 4px;
  color:var(--vid-tx-deep);
  font-size:clamp(1.7rem,3vw,2.08rem);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:900;
}
.vid-cart-v4__head p:not(.vid-kicker),
.vid-checkout-v4__head p:not(.vid-kicker){
  max-width:720px;
  margin:0;
  color:var(--vid-tx-muted);
  font-size:.84rem;
  line-height:1.5;
}
.vid-cart-v4__count,
.vid-checkout-v4__trust span,
.vid-cart-custom__digital-label{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  justify-content:center;
  border:1px solid #dceaf3;
  border-radius:999px;
  background:#f8fbfd;
  color:#34566f;
  padding:5px 10px;
  font-size:.68rem;
  line-height:1.1;
  font-weight:850;
  white-space:nowrap;
}
.vid-checkout-v4__trust{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
  padding-bottom:2px;
}

@media (max-width:47.99rem){
  .vid-cart-v4__head,
  .vid-checkout-v4__head{
    display:block;
    margin-bottom:17px;
    padding-bottom:14px;
  }
  .vid-cart-v4__head h1,
  .vid-checkout-v4__head h1{font-size:1.52rem}
  .vid-cart-v4__head p:not(.vid-kicker),
  .vid-checkout-v4__head p:not(.vid-kicker){font-size:.8rem}
  .vid-cart-v4__count{margin-top:10px}
  .vid-checkout-v4__trust{display:none}
}

@media (prefers-reduced-motion:reduce){
  body.vidyanik-cart-page *,body.vidyanik-checkout-page *{scroll-behavior:auto !important}
}

/* Desktop transaction surface remains byte-for-byte equivalent in geometry
 * to 1.4.83. Mobile overrides below remove this outer surface. */
body.vidyanik-cart-has-items .site-main,
body.vidyanik-checkout-page .site-main{
  border:1px solid rgba(213,227,237,.88);
  border-radius:18px;
  background:var(--vid-tx-card);
  margin-top:14px !important;
  padding:26px 28px 34px !important;
  box-shadow:0 10px 30px rgba(8,41,83,.035);
}

/* 1.4.92 desktop empty-cart consistency.
 * Filled Cart already uses the accepted transaction surface. Empty Cart now
 * reuses that same outer card grammar without changing the inner empty state. */
@media (min-width:48rem){
  body.vidyanik-cart-is-empty .site-main{
    border:1px solid rgba(213,227,237,.88);
    border-radius:18px;
    background:var(--vid-tx-card);
    margin-top:14px !important;
    padding:26px 28px 34px !important;
    box-shadow:0 10px 30px rgba(8,41,83,.035);
  }
  body.vidyanik-cart-is-empty .content-bg:not(.loop-entry){
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
}

/* Verified live Kadence Page geometry correction.
 * Cart/Checkout render as .site-main > .content-wrap > article.content-bg, so
 * Kadence's <=719px boxed-content breakout expands the article by 1rem on each
 * side. Neutralize only that transaction-page article breakout; the
 * .vid-transaction-frame remains the sole transaction gutter owner. */
@media screen and (max-width:719px){
  body.vidyanik-cart-page .content-bg:not(.loop-entry),
  body.vidyanik-checkout-page .content-bg:not(.loop-entry){
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    /* The live Page article is inside .content-wrap, so the older
     * .site-main > article transparency reset does not match it. Keep the
     * fixed geometry, but let the transaction page background continue
     * cleanly through the intentional mobile top breathing space. */
    background:transparent !important;
  }
}

/* 1.4.86 transaction boundary fix.
 * 1.4.85 proved the remaining live defect is a cascade boundary problem, not a
 * missing-spacing calculation: in an isolated browser the .woocommerce rule
 * produces the intended 16px gutters, while the live screenshots show that same
 * generic Woo root at full viewport width. Therefore .woocommerce is no longer
 * allowed to own page geometry. A unique plugin-emitted wrapper outside it is the
 * sole transaction frame on phones. */
@media (max-width:47.99rem){
  body.vidyanik-cart-page .content-container.site-container,
  body.vidyanik-checkout-page .content-container.site-container,
  body.vidyanik-cart-page #primary,
  body.vidyanik-checkout-page #primary,
  body.vidyanik-cart-page .content-area,
  body.vidyanik-checkout-page .content-area,
  body.vidyanik-cart-page .site-main,
  body.vidyanik-checkout-page .site-main,
  body.vidyanik-cart-page .site-main > article,
  body.vidyanik-checkout-page .site-main > article,
  body.vidyanik-cart-page .site-main > .content-bg,
  body.vidyanik-checkout-page .site-main > .content-bg,
  body.vidyanik-cart-page .entry-content-wrap,
  body.vidyanik-checkout-page .entry-content-wrap,
  body.vidyanik-cart-page .entry-content,
  body.vidyanik-checkout-page .entry-content{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.vidyanik-cart-page #primary,
  body.vidyanik-checkout-page #primary,
  body.vidyanik-cart-page .content-area,
  body.vidyanik-checkout-page .content-area{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.vidyanik-cart-has-items .site-main,
  body.vidyanik-checkout-page .site-main{
    /* Mobile-only vertical separation from the fixed site chrome.
     * Horizontal geometry remains owned by .vid-transaction-frame below. */
    margin-top:20px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    padding:0 0 48px !important;
    box-shadow:none !important;
    overflow:visible;
  }

  /* Sole viewport-gutter owner. The generic Woo root stays 100% of this frame. */
  body.vidyanik-cart-page .vid-transaction-frame,
  body.vidyanik-checkout-page .vid-transaction-frame{
    box-sizing:border-box !important;
    width:calc(100% - 32px) !important;
    max-width:var(--vid-tx-max) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body.vidyanik-cart-page .vid-transaction-frame > .woocommerce,
  body.vidyanik-checkout-page .vid-transaction-frame > .woocommerce{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.vidyanik-cart-has-items .vid-cart-v4__head,
  body.vidyanik-checkout-page .vid-checkout-v4__head{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    margin:0 0 20px !important;
    padding:0 0 16px !important;
  }

  body.vidyanik-cart-has-items .vid-cart-custom,
  body.vidyanik-checkout-page form.checkout,
  body.vidyanik-checkout-page .vid-checkout-layout,
  body.vidyanik-checkout-page #customer_details,
  body.vidyanik-checkout-page .vid-checkout-order-card,
  body.vidyanik-checkout-page #order_review,
  body.vidyanik-checkout-page #payment{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.vidyanik-checkout-page form.checkout{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.vidyanik-cart-page .woocommerce > :where(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-info,.woocommerce-error),
  body.vidyanik-checkout-page .woocommerce > :where(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-info,.woocommerce-error){
    box-sizing:border-box;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 16px !important;
  }
}

/* Core 1.5.20: keep long desktop carts visually separated from the footer. */
@media(min-width:48rem){body.vidyanik-cart-has-items .site-main{margin-bottom:40px!important}}
