/* Your 24 Carrot Pie — classic checkout ([woocommerce_checkout]) theme
   Scoped to body.woocommerce-checkout so it never leaks onto other pages. */

body.woocommerce-checkout{
  --cream:#FBF6EC; --cream-2:#F6EEDD; --cream-3:#F0E5CF;
  --ink:#3A2716; --ink-soft:#6A5238; --ink-faint:#8A755B;
  --carrot:#DD6A1B; --carrot-deep:#B44E17; --amber:#E7A23C; --sage:#5E6B3B;
  --line:rgba(58,39,22,.14); --line-2:rgba(58,39,22,.28);
  --white:#FFFDF8;
  --shadow-s:0 2px 8px rgba(58,39,22,.08);
  --shadow-m:0 10px 30px rgba(58,39,22,.12);
  --radius:18px; --radius-s:12px; --radius-pill:999px;
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --body-f:"Work Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .woocommerce{
  font-family:var(--body-f);
  color:var(--ink);
}

body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title{
  font-family:var(--display);font-weight:600;color:var(--ink);
}

/* ---- coupon box ---- */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-s);
  color:var(--ink-soft);padding:14px 18px;display:flex;align-items:center;gap:8px;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a{
  color:var(--carrot-deep);font-weight:600;text-decoration:underline;
}
body.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-s);
  padding:18px;margin-bottom:20px;
}
body.woocommerce-checkout .checkout_coupon .form-row-first,
body.woocommerce-checkout .checkout_coupon .form-row-last{width:48%}
body.woocommerce-checkout .checkout_coupon button{
  background:var(--ink);color:var(--cream);border:0;border-radius:var(--radius-pill);
  padding:.8em 1.6em;font-weight:600;cursor:pointer;
}

/* ---- section headings (Billing details / Additional information) ---- */
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #payment h3{
  font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--ink);
  margin:0 0 16px;
}

/* ---- form fields ---- */
body.woocommerce-checkout .form-row label{
  font-weight:600;font-size:.85rem;color:var(--ink);margin-bottom:6px;display:block;
}
body.woocommerce-checkout .form-row label .required{color:var(--carrot-deep);text-decoration:none}
body.woocommerce-checkout .form-row .input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection--single{
  width:100%;background:var(--white);border:1.5px solid var(--line-2);border-radius:var(--radius-s);
  padding:.75em .9em;font-family:inherit;font-size:.98rem;color:var(--ink);
  height:auto;transition:border-color .15s,box-shadow .15s;
}
body.woocommerce-checkout .select2-container .select2-selection--single{
  padding:.6em .9em;display:flex;align-items:center;
}
body.woocommerce-checkout .form-row .input-text:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus{
  outline:none;border-color:var(--carrot);box-shadow:0 0 0 3px rgba(221,106,27,.15);
}
body.woocommerce-checkout .woocommerce-input-wrapper{display:block}

/* ---- order review table ---- */
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow-s);
}
body.woocommerce-checkout table.shop_table{
  width:100%;border-collapse:collapse;font-size:.95rem;
}
body.woocommerce-checkout table.shop_table thead th{
  text-align:left;font-family:var(--display);font-weight:600;color:var(--ink);
  padding:8px 6px;border-bottom:2px solid var(--line-2);
}
body.woocommerce-checkout table.shop_table tbody td,
body.woocommerce-checkout table.shop_table tfoot td,
body.woocommerce-checkout table.shop_table tfoot th{
  padding:10px 6px;border-bottom:1px solid var(--line);color:var(--ink-soft);
}
body.woocommerce-checkout table.shop_table .product-name{color:var(--ink);font-weight:500}
body.woocommerce-checkout table.shop_table .cart-subtotal td,
body.woocommerce-checkout table.shop_table .cart-subtotal th{color:var(--ink-soft)}
body.woocommerce-checkout table.shop_table .order-total td,
body.woocommerce-checkout table.shop_table .order-total th{
  font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--ink);
  border-bottom:0;border-top:2px solid var(--line-2);
}
body.woocommerce-checkout table.shop_table .order-total .woocommerce-Price-amount{color:var(--carrot-deep)}

/* ---- payment methods ---- */
body.woocommerce-checkout #payment{
  background:var(--cream-2);border-radius:var(--radius-s);padding:18px;margin-top:20px;
}
body.woocommerce-checkout #payment ul.payment_methods{
  border:0;padding:0;margin:0 0 10px;list-style:none;
}
body.woocommerce-checkout #payment ul.payment_methods li{
  border-bottom:1px solid var(--line);padding:10px 4px;
}
body.woocommerce-checkout #payment ul.payment_methods li:last-child{border-bottom:0}
body.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;color:var(--ink)}
body.woocommerce-checkout #payment .payment_box{
  background:var(--white);border-radius:10px;padding:14px 16px;margin-top:8px;
  color:var(--ink-soft);font-size:.9rem;
}
body.woocommerce-checkout #payment .payment_box:before{border-bottom-color:var(--white)!important}

/* terms + place order */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  margin:16px 0;font-size:.9rem;color:var(--ink-soft);
}
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .checkout-button{
  width:100%;background:var(--carrot);color:#fff;border:0;border-radius:var(--radius-pill);
  padding:1em 1.6em;font-weight:700;font-size:1.02rem;letter-spacing:.01em;
  cursor:pointer;transition:background .15s,transform .1s;box-shadow:0 6px 16px rgba(221,106,27,.28);
}
body.woocommerce-checkout #place_order:hover{background:var(--carrot-deep)}
body.woocommerce-checkout #place_order:active{transform:translateY(1px)}

/* notices */
body.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error,
body.woocommerce-checkout .woocommerce-error{
  background:#FBEEDD;border:1px solid #E9C99A;color:#8A5A1B;border-radius:12px;
  padding:14px 18px;list-style:none;margin:0 0 20px;
}
body.woocommerce-checkout .woocommerce-error li{margin:0}

/* layout: two columns, matching the calendar panel's spacing */
body.woocommerce-checkout .col2-set{display:block}
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2{width:100%}

@media (min-width:821px){
  body.woocommerce-checkout form.checkout{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    column-gap:40px;
    grid-template-areas:
      "y24cal y24cal"
      "billing summary-h"
      "billing summary";
    align-items:start;
  }
  body.woocommerce-checkout form.checkout > .y24-dc-panel{grid-area:y24cal;margin-bottom:8px}
  body.woocommerce-checkout form.checkout #customer_details{grid-area:billing}
  body.woocommerce-checkout form.checkout #order_review_heading{grid-area:summary-h;margin-top:0}
  body.woocommerce-checkout form.checkout #order_review{grid-area:summary;position:sticky;top:20px}
}

@media (max-width:820px){
  body.woocommerce-checkout .col2-set{display:block}
}
@media (max-width:480px){
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .woocommerce-checkout-review-order,
  body.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon{padding:16px}
  body.woocommerce-checkout table.shop_table{font-size:.86rem}
}
