/*!
 * cav-shop-flow.css — brand skin for cart, checkout, my-account, thankyou.
 * Briefing §3.3–3.6. Skins the classic WooCommerce shortcode output.
 */

/* shared layout width */
.woocommerce-cart .cav-flow,
.woocommerce-checkout .cav-flow,
.woocommerce-account .cav-flow{ }

/* ---- generic woo element skin within our pages ---- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection{
  border:1px solid var(--cav-card-border) !important; background: var(--cav-hafer-2) !important;
  border-radius:12px !important; padding:12px 14px !important; min-height:46px;
}
.woocommerce-page .button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background: var(--cav-navy) !important; color:#fff !important;
  border-radius:999px !important; padding:13px 22px !important; font-weight:700 !important;
}
.woocommerce-page .button:hover,
.woocommerce button.button:hover{ background: var(--cav-navy-hover) !important; }
.woocommerce .button.cav-disabled,
#place_order.cav-disabled{ opacity:.45 !important; pointer-events:none; }

.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-top-color: var(--cav-navy) !important; background:#fff; border-radius:12px;
}

/* ---- cart / checkout containers ---- */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content{ max-width: var(--cav-container); margin-inline:auto; }

.woocommerce table.shop_table{
  border:1px solid var(--cav-card-border); border-radius: var(--cav-radius-card);
  background:#fff; box-shadow: var(--cav-shadow-card); overflow:hidden;
}
.woocommerce table.shop_table th{ font-family: var(--cav-font-head); color: var(--cav-navy); }

/* checkout: sticky order summary */
@media (min-width: 900px){
  .woocommerce-checkout #order_review{ position:sticky; top:96px; }
  form.checkout.woocommerce-checkout{ display:grid; grid-template-columns: 1.4fr 1fr; gap:34px; align-items:start; }
  .woocommerce-checkout #customer_details{ grid-column:1; }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{ grid-column:2; }
}
#order_review, #customer_details > div{
  background:#fff; border:1px solid var(--cav-card-border); border-radius: var(--cav-radius-card);
  box-shadow: var(--cav-shadow-card); padding:22px;
}

/* FAGG consent block */
.cav-consent{ margin:14px 0; display:flex; flex-direction:column; gap:10px; }
.cav-consent__row{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color: var(--cav-ink-2); line-height:1.45; }
.cav-consent__row input{ margin-top:3px; accent-color: var(--cav-navy); flex:none; }
.cav-consent__row a{ color: var(--cav-navy); }
.cav-summary-micro td{ text-align:center; color: var(--cav-warm); font-size:12.5px; padding-top:10px; }

/* ---- thankyou ---- */
.cav-thankyou{ max-width: 860px; margin:24px auto; }
.cav-thankyou__head{ text-align:center; padding:36px 24px; }
.cav-thankyou__icon{ width:74px; height:74px; border-radius:50%; background: var(--cav-teal); color:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; animation: cav-pop .5s var(--cav-ease-bounce) both; }
.cav-thankyou__icon svg{ width:38px; height:38px; }
.cav-thankyou__head h1{ font-size: var(--cav-fs-h1); }
.cav-thankyou__meta{ display:flex; justify-content:center; gap:18px; flex-wrap:wrap; color: var(--cav-ink-2); margin-top:8px; }
.cav-dlgrid{ display:grid; grid-template-columns: repeat(2,1fr); gap:16px; margin-top:8px; }
.cav-dlcard{ display:flex; gap:14px; align-items:center; padding:14px; }
.cav-dlcard img{ width:54px; height:76px; object-fit:cover; border-radius:8px; }
.cav-dlcard .t{ font-family: var(--cav-font-head); color: var(--cav-navy); }
.cav-thankyou__next{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px; }

/* ---- my account ---- */
.woocommerce-account .woocommerce{ display:grid; grid-template-columns: 260px minmax(0,1fr); gap:28px; align-items:start; }
/* Override WooCommerce default float + width:30%/70% which fights the grid. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{ width:auto !important; float:none !important; margin:0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation{ grid-column:1 !important; grid-row:1 !important; }
.woocommerce-account .woocommerce-MyAccount-content{ grid-column:2 !important; grid-row:1 !important; min-width:0; }
.woocommerce-account .woocommerce-MyAccount-navigation{ }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; background:#fff; border:1px solid var(--cav-card-border); border-radius: var(--cav-radius-card); box-shadow: var(--cav-shadow-card); overflow:hidden; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:13px 18px; text-decoration:none; color: var(--cav-ink); font-weight:600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ background: var(--cav-hafer); color: var(--cav-navy); }
.woocommerce-account .woocommerce-MyAccount-navigation li--downloads a::after{ }
.woocommerce-account .woocommerce-MyAccount-content{ background:#fff; border:1px solid var(--cav-card-border); border-radius: var(--cav-radius-card); box-shadow: var(--cav-shadow-card); padding:26px; }
.cav-account-hero{ background:#fff; border:1px solid var(--cav-card-border); border-radius: var(--cav-radius-card); box-shadow: var(--cav-shadow-card); padding:22px; display:flex; gap:16px; align-items:center; margin-bottom:22px; position:relative; overflow:hidden; }
.cav-account-hero::after{ content:""; position:absolute; right:-40px; top:-40px; width:160px; height:160px; border-radius:50%; background: radial-gradient(circle, rgba(217,164,65,.18), transparent 70%); }
.cav-account-hero__avatar{ width:58px; height:58px; border-radius:50%; background: var(--cav-navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family: var(--cav-font-head); font-weight:700; font-size:22px; }
.cav-account-tiles{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; margin-bottom:20px; }
.cav-account-tile{ background: var(--cav-hafer-2); border-radius:16px; padding:16px; text-align:center; }
.cav-account-tile b{ display:block; font-family: var(--cav-font-head); font-size:26px; color: var(--cav-navy); }
.woocommerce-account a.logout, .woocommerce-MyAccount-navigation li--customer-logout a{ color: var(--cav-berry) !important; }

@media (max-width: 900px){
  .woocommerce-account .woocommerce{ grid-template-columns: 1fr; }
  .cav-dlgrid, .cav-account-tiles{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){ .cav-dlgrid, .cav-account-tiles{ grid-template-columns: 1fr; } }
