/* AussieWave order-form skin — restyles standard_cart to the brand.
 * Imports the canonical brand layer, then overrides host classes. */

/* ---- base ---- */
#order-standard_cart, .cart-body, .cart-sidebar{font-family:var(--aw-font-body);color:var(--aw-ink)}
#order-standard_cart .header-lined h1,
#order-standard_cart h1,#order-standard_cart h2,#order-standard_cart h3{font-family:var(--aw-font-head);color:var(--aw-ocean)}
#order-standard_cart .header-lined{border-bottom:1px solid var(--aw-line)}

/* ---- buttons (coral primary, blue-outline secondary) ---- */
#order-standard_cart .btn-primary,#order-standard_cart .btn-success,
#order-standard_cart .btn-order-now,.checkout-btn,#btnCompleteOrder,#checkout{
  background:var(--aw-coral)!important;border:1.5px solid var(--aw-coral)!important;color:#fff!important;
  border-radius:999px!important;font-family:var(--aw-font-head);font-weight:700;
  box-shadow:0 8px 20px rgba(255,107,74,.28)}
#order-standard_cart .btn-primary:hover,#order-standard_cart .btn-success:hover,
#order-standard_cart .btn-order-now:hover,.checkout-btn:hover,#btnCompleteOrder:hover{
  background:var(--aw-coral-d)!important;border-color:var(--aw-coral-d)!important;color:#fff!important}
#order-standard_cart .btn-default,#order-standard_cart .btn-secondary{
  background:#fff!important;border:1.5px solid var(--aw-blue)!important;color:var(--aw-blue-d)!important;
  border-radius:999px!important;font-family:var(--aw-font-head);font-weight:700}
#order-standard_cart .btn-default:hover,#order-standard_cart .btn-secondary:hover{background:var(--aw-mist)!important}

/* ---- form fields ---- */
#order-standard_cart .form-control,#order-standard_cart select,#order-standard_cart input[type=text],
#order-standard_cart input[type=email],#order-standard_cart input[type=password]{
  border:1.5px solid var(--aw-line);border-radius:10px;font-family:var(--aw-font-body)}
#order-standard_cart .form-control:focus{border-color:var(--aw-blue);box-shadow:0 0 0 3px rgba(46,155,255,.15)}

/* ---- order summary panel ---- */
.order-summary,.cart-sidebar .sidebar-content,#orderSummary{
  background:#fff;border:1.5px solid var(--aw-line-strong);border-radius:var(--aw-radius);padding:22px}
.order-summary .product-name,#orderSummary .product-name{
  font-family:var(--aw-font-head);font-weight:800;color:var(--aw-ocean);display:block;font-size:1.05rem}
.order-summary .product-group{color:var(--aw-muted);font-size:.85rem;display:block;margin-bottom:8px}
.order-summary .clearfix,#orderSummary .clearfix{padding:9px 0;border-bottom:1px dashed var(--aw-line)}
.order-summary .float-right,.order-summary .pull-right{font-family:var(--aw-font-mono);font-weight:600;color:var(--aw-ocean)}
.summary-totals{margin-top:6px}
.total-due-today{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;
  border-top:2px solid var(--aw-line);font-family:var(--aw-font-head);font-weight:800;color:var(--aw-ocean)}
.total-due-today .amt{font-family:var(--aw-font-mono);color:var(--aw-blue);font-size:1.35rem}

/* ---- sidebar categories ---- */
.cart-sidebar .list-group-item{border-color:var(--aw-line)}
.cart-sidebar .list-group-item.active,.cart-sidebar .list-group-item:hover{
  background:var(--aw-mist);border-color:var(--aw-line);color:var(--aw-ocean)}

/* ---- links ---- */
#order-standard_cart a{color:var(--aw-blue-d)}
#order-standard_cart a:hover{color:var(--aw-ocean)}

/* ================= View Cart + Checkout (standard_cart real classes) ================= */
#order-standard_cart .header-lined h1,#order-standard_cart h1.font-size-36{font-family:var(--aw-font-head);color:var(--aw-ocean)}

/* sticky order-summary panel (matches the configure-page card + the mockup) */
.secondary-cart-sidebar{position:sticky;top:88px}
#order-standard_cart #orderSummary.order-summary,#order-standard_cart .order-summary{
  background:#fff;border:1.5px solid var(--aw-line-strong);border-radius:var(--aw-radius);
  padding:24px 22px;box-shadow:0 14px 40px rgba(16,42,51,.06)}
#order-standard_cart #orderSummary h2,#order-standard_cart .order-summary h2{
  font-family:var(--aw-font-head);font-weight:800;color:var(--aw-ocean);font-size:1.3rem;margin-bottom:.6rem}

/* summary line rows: dashed separators + mono figures */
#orderSummary .summary-container .clearfix,#orderSummary .bordered-totals .clearfix,
#orderSummary .recurring-totals{padding:10px 0;border-bottom:1px dashed var(--aw-line)}
#orderSummary .float-right,#orderSummary .pull-right{font-family:var(--aw-font-mono);font-weight:600;color:var(--aw-ocean)}
#orderSummary .summary-name,#orderSummary .product-name{font-family:var(--aw-font-head);font-weight:700;color:var(--aw-ocean)}

/* total due today */
#orderSummary .recurring-totals{border-top:2px solid var(--aw-line);border-bottom:0;margin-top:6px;padding-top:14px;
  font-family:var(--aw-font-head);font-weight:800;color:var(--aw-ocean)}
#totalDueToday,#orderSummary .amt{font-family:var(--aw-font-mono);font-weight:700;color:var(--aw-blue);font-size:1.4rem}

/* checkout CTA = coral, full width */
#order-standard_cart #checkout,#order-standard_cart .btn-checkout{
  background:var(--aw-coral)!important;border:1.5px solid var(--aw-coral)!important;color:#fff!important;
  border-radius:999px!important;font-family:var(--aw-font-head);font-weight:700;width:100%;
  box-shadow:0 8px 20px rgba(255,107,74,.28)}
#order-standard_cart #checkout:hover,#order-standard_cart .btn-checkout:hover{
  background:var(--aw-coral-d)!important;border-color:var(--aw-coral-d)!important}

/* cart item rows + promo box */
#order-standard_cart .cart-items,#order-standard_cart .item{border-color:var(--aw-line)}
#order-standard_cart .view-cart-gateway-checkout{background:var(--aw-mist);border-radius:var(--aw-radius);padding:16px 18px}

/* Hide the mobile collapsed category selector on desktop — the left .cart-sidebar
 * already provides nav; otherwise it renders in the body and pushes products down. */
@media (min-width:992px){ .sidebar-collapsed{ display:none !important } }

/* Desktop cart layout: sidebar (fixed) + body (fills remaining), side by side.
 * The base theme forces a near-full width on .cart-body which overflows the flex
 * row and wraps it below the sidebar — override to a proper 2-column layout. */
@media (min-width:992px){
  #order-standard_cart > .row{ flex-wrap:nowrap; align-items:flex-start; gap:28px }
  #order-standard_cart .cart-sidebar{ flex:0 0 220px; width:220px; max-width:220px }
  #order-standard_cart .cart-body{ flex:1 1 auto; width:auto; max-width:none; min-width:0 }
}

/* <select> boxes: base theme fixes height ~33.5px while our padding is 11px top+
 * bottom (border-box) — text clips in half. Let the box grow to fit. */
#order-standard_cart select,
#order-standard_cart select.form-control,
#order-standard_cart .custom-select{
  height:auto !important;
  min-height:46px;
  line-height:1.4;
  padding:11px 36px 11px 14px;
}

/* ---- Footer: full-width ocean bar, readable light text, brand spacing ---- */
#footer.footer{ background:var(--aw-ocean) !important; border-top:0 !important; margin-top:0 !important; padding:46px 0 42px !important }
#footer .aw-foot{ background:transparent; color:#cfe0ea; line-height:1.85; font-family:var(--aw-font-body) }
#footer .aw-foot-links{ margin-bottom:4px }
#footer .aw-foot-links a{ color:#fff !important; opacity:.92; font-size:.95rem; margin:0 13px; font-family:var(--aw-font-head); font-weight:600 }
#footer .aw-foot-links a:hover{ color:var(--aw-sky) !important; opacity:1 }
#footer .aw-foot-legal{ margin-top:12px }
#footer .aw-foot-legal a{ color:#9fc0d4 !important; font-size:.85rem; margin:0 10px }
#footer .aw-foot-legal a:hover{ color:#fff !important }
#footer .aw-foot-copy{ margin-top:20px; color:#8fb2c7 !important; font-size:.9rem }
#footer .aw-foot-copy b{ color:var(--aw-sky) }
#footer .aw-foot-locale{ margin-top:18px }
#footer .aw-foot-locale a, #footer .aw-foot-locale .btn, #footer .aw-foot-locale button{
  color:#cfe0ea !important; border-color:rgba(255,255,255,.28) !important; background:transparent !important }
#footer .aw-foot-locale a:hover, #footer .aw-foot-locale .btn:hover{ color:#fff !important; border-color:var(--aw-sky) !important }

/* ---- Product group header: breathing room before the cards ---- */
#order-standard_cart .header-lined{ padding-bottom:22px; margin-bottom:28px; border-bottom:1px solid var(--aw-line) }
#order-standard_cart .header-lined p{ margin-bottom:0 }
#order-standard_cart .aw-price-grid{ margin-top:10px }

/* ---- View cart: items fill left, summary a fixed right column (no squish/gap) ---- */
@media (min-width:992px){
  #order-standard_cart .cart-body > .row{ flex-wrap:nowrap; gap:30px; align-items:flex-start }
  #order-standard_cart .cart-body > .row > *:first-child{ flex:1 1 auto; min-width:0; max-width:none; width:auto }
  #order-standard_cart .secondary-cart-sidebar{ flex:0 0 300px; width:300px; max-width:300px; margin-left:auto }
}

/* Configure page: align the content under the hero's inset text (hero has 32px
 * padding; the config row sits 15px further left via a Bootstrap negative margin). */
@media (min-width:768px){
  #order-standard_cart .aw-cfg-hero ~ .header-lined{ padding-left:47px }
  #order-standard_cart .secondary-cart-body{ padding-left:47px }
}

/* Total Due Today: label ABOVE the amount */
#order-standard_cart .total-due-today{
  display:flex !important; flex-direction:column-reverse; align-items:flex-start; gap:3px;
  border-top:2px solid var(--aw-line); margin-top:14px; padding-top:14px }
#order-standard_cart .total-due-today .amt{
  font-family:var(--aw-font-mono); font-weight:700; color:var(--aw-blue); font-size:1.5rem; line-height:1 }
#order-standard_cart .total-due-today span:not(.amt){
  text-transform:uppercase; letter-spacing:.06em; font-size:.72rem; font-weight:700;
  color:var(--aw-muted); font-family:var(--aw-font-head) }

/* View-cart main content → branded card (scoped to the cart page via :has) */
#order-standard_cart .secondary-cart-body:has(.view-cart-items){
  background:#fff; border:1.5px solid var(--aw-line-strong); border-radius:var(--aw-radius); padding:22px 26px }
#order-standard_cart .view-cart-items-header{
  background:transparent !important; padding:0 0 10px; border-radius:0;
  font-family:var(--aw-font-head); font-weight:700; color:var(--aw-muted);
  border-bottom:2px solid var(--aw-line); margin-bottom:2px;
  font-size:.78rem; text-transform:uppercase; letter-spacing:.06em }
#order-standard_cart .view-cart-items .item{ padding:16px 0; border-bottom:1px dashed var(--aw-line) }
#order-standard_cart .view-cart-items .item:last-child{ border-bottom:0 }
#order-standard_cart .view-cart-items .item a{ color:var(--aw-ocean); font-family:var(--aw-font-head); font-weight:600 }
#order-standard_cart .view-cart-tabs{ margin-top:22px; padding-top:18px; border-top:1px solid var(--aw-line) }
#order-standard_cart .nav-tabs{ border-bottom:1px solid var(--aw-line) }
#order-standard_cart .nav-tabs .nav-link.active{
  color:var(--aw-blue-d); font-family:var(--aw-font-head); font-weight:600; border-color:var(--aw-line) var(--aw-line) #fff }
#order-standard_cart #inputPromotionCode.field{ border:1.5px solid var(--aw-line); border-radius:10px }

/* Cart: keep item rows (and the remove-x column) inside the card (kill Bootstrap
 * row negative margins that push the x past the card edge). */
#order-standard_cart .secondary-cart-body .row{ margin-left:0; margin-right:0 }
#order-standard_cart .view-cart-items .item .btn-remove-from-cart{ color:var(--aw-muted) }
#order-standard_cart .view-cart-items .item .btn-remove-from-cart:hover{ color:var(--aw-coral) }
/* Order-summary checkout button: breathing room above it */
#order-standard_cart #orderSummary #checkout,#order-standard_cart #orderSummary .btn-checkout{ margin-top:18px }

/* Remove-x: pin inside the card (the grid columns overflow otherwise) */
#order-standard_cart .view-cart-items .item{ position:relative; padding-right:20px }
#order-standard_cart .view-cart-items .item .col-sm-1{
  position:absolute !important; right:0; top:14px; width:auto !important; max-width:none !important;
  padding:0 !important; margin:0 !important; text-align:right }

/* Order-summary item breakdown */
#orderSummary .summary-items{ margin:6px 0 14px; padding-bottom:14px; border-bottom:1px dashed var(--aw-line) }
#orderSummary .summary-item{ display:flex; justify-content:space-between; gap:12px; margin-top:10px;
  font-family:var(--aw-font-head); font-weight:700; color:var(--aw-ocean); font-size:.95rem }
#orderSummary .summary-item .cost{ font-family:var(--aw-font-mono); font-weight:600; white-space:nowrap }
#orderSummary .summary-item-sub{ font-size:.76rem; color:var(--aw-muted); margin-top:1px }
#orderSummary .subtotal{ margin-top:4px }
