/* =========================================================
   PERKY PEN — WooCommerce Cart
   Premium, centered, mobile-first
   ========================================================= */

/* ===== Brand system (scoped to cart) ===== */

/* TAN Ashford */
@font-face {
  font-family:"TAN Ashford";
  src:url("/fonts/ashford-bold.otf") format("opentype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:"TAN Ashford";
  src:url("/fonts/ashford-bold-italic.otf") format("opentype");
  font-weight:700;
  font-style:italic;
  font-display:swap;
}

/* Canva Sans */
@font-face{font-family:"Canva Sans";src:url("/fonts/CanvaSans-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Canva Sans";src:url("/fonts/CanvaSans-RegularItalic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Canva Sans";src:url("/fonts/CanvaSans-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Canva Sans";src:url("/fonts/CanvaSans-MediumItalic.otf") format("opentype");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Canva Sans";src:url("/fonts/CanvaSans-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Canva Sans";src:url("/fonts/CanvaSans-BoldItalic.otf") format("opentype");font-weight:700;font-style:italic;font-display:swap}

/* ===== Tokens ===== */
:root{
  --pp-cream:#FFF6EF;
  --pp-brown:#694029;
  --pp-orange:#EB9C54;
  --pp-amber:#DD7A20;
  --pp-ink:#211D1A;
  --pp-tan:#EADFD6;

  --pp-display:"TAN Ashford",Georgia,serif;
  --pp-body:"Canva Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --radius:14px;
  --radius-sm:10px;
  --shadow:0 10px 30px rgba(33,29,26,.08);
  --shadow-lg:0 18px 50px rgba(33,29,26,.10);
}

/* ===== Page base ===== */
body.woocommerce-cart{
  background:var(--pp-cream);
  color:var(--pp-ink);
  font-family:var(--pp-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

body.woocommerce-cart *{
  text-decoration:none !important; /* clean look */
}

/* ===== 1. PAGE WRAPPER ===== */
body.woocommerce-cart .woocommerce{
  max-width:1200px;          /* <<< kills the huge right gap */
  margin: clamp(36px, 7vw, 110px) auto clamp(40px, 8vw, 130px);
  padding: 0 clamp(14px, 2.8vw, 28px);
  overflow: visible !important; /* so shadows aren't clipped */
}

/* ===== Headings ===== */
body.woocommerce-cart .wc-block-cart__title,
body.woocommerce-cart .wc-block-components-totals-header__title,
body.woocommerce-cart .cart_totals h2,
body.woocommerce-cart .woocommerce-cart-form h2{
  font-family:var(--pp-display);
  color:var(--pp-brown);
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:800;
  margin:6px 0 14px;
}

/* ===== 2. MAIN CART CARD ===== */
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart table.shop_table{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

/* classic cart rows */
body.woocommerce-cart table.shop_table.cart tr{
  border-bottom:1px solid rgba(33,29,26,.06);
}

/* product thumbs */
body.woocommerce-cart table.shop_table .product-thumbnail img{
  border-radius:var(--radius-sm);
  box-shadow:0 6px 16px rgba(33,29,26,.06);
}

/* product name */
body.woocommerce-cart table.shop_table .product-name a{
  color:var(--pp-brown);
  font-weight:800;
}

/* qty */
body.woocommerce-cart .quantity .qty{
  border:2px solid var(--pp-tan);
  border-radius:10px;
  padding:.6rem .75rem;
  min-width:64px;
  background:#fff;
  transition:border-color .2s, box-shadow .2s;
}
body.woocommerce-cart .quantity .qty:focus{
  border-color:var(--pp-amber);
  box-shadow:0 0 0 3px rgba(221,122,32,.18);
}

/* remove link */
body.woocommerce-cart a.remove{
  color:var(--pp-brown);
  font-weight:700;
}
body.woocommerce-cart a.remove:hover{
  color:var(--pp-amber);
}

/* ===== 3. COLLATERALS (shipping note + totals) ===== */
.woocommerce-cart .cart-collaterals{
  float:none;
  width:100%;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:flex-start;   /* change to center; if you want centred */
  margin-top:22px;
}

/* shipping box (ours) */
.pp-cart-shipping-note{
  background:#fff;
  border:1px solid rgba(105,64,41,.06);
  border-radius:18px;
  padding:16px 18px 14px;
  box-shadow:0 14px 35px rgba(221,122,32,.06);
  max-width:540px;
  width:100%;
}
.pp-cart-shipping-title{
  font-weight:700;
  font-size:14px;
  text-transform:uppercase;
  margin:0 0 10px;
  color:#211D1A;
}
.pp-cart-shipping-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
  font-size:13.5px;
  line-height:1.35;
  color:#211D1A;
}
.pp-cart-shipping-list strong{ color:#694029; }

/* Woo totals box */
.woocommerce-cart .cart-collaterals .cart_totals{
  background:#fff;
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:16px 18px 18px;
  max-width:540px;
  width:100%;
}

/* stop inner table borders showing funny lines */
.woocommerce-cart .cart_totals table{
  border:0;
  box-shadow:none;
  background:transparent;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{
  border-top:0;
}

/* ===== 4. BUTTONS ===== */
body.woocommerce-cart .button,
body.woocommerce-cart button[type="submit"],
body.woocommerce-cart .wc-block-cart__submit-button{
  background:var(--pp-amber) !important;
  color:#fff !important;
  border:none !important;
  border-radius:12px !important;
  font-weight:800;
  padding:.95rem 1.2rem;
  transition:transform .15s ease, box-shadow .15s ease;
}
body.woocommerce-cart .button:hover,
body.woocommerce-cart button[type="submit"]:hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover{
  background:var(--pp-orange) !important;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(221,122,32,.28);
}

/* ===== 5. RESPONSIVE ===== */

/* tablet & down: stack totals */
@media (max-width: 980px){
  .woocommerce-cart .cart-collaterals{
    flex-direction:column;
    align-items:stretch;
  }
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-cart .pp-cart-shipping-note{
    max-width:none;
  }

  body.woocommerce-cart .woocommerce{
    margin-top: clamp(28px, 7vw, 70px);
    margin-bottom: clamp(28px, 8vw, 90px);
  }
}

/* mobile: full width buttons & tighter padding */
@media (max-width: 768px){
  body.woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-cart .pp-cart-shipping-note{
    border-radius:14px;
  }
  body.woocommerce-cart .woocommerce-cart-form{
    padding:14px 10px;
  }
  body.woocommerce-cart .button,
  body.woocommerce-cart button[type="submit"]{
    width:100%;
  }
  .pp-cart-shipping-note{
    padding:14px 14px 12px;
  }
}

/* small phones */
@media (max-width: 480px){
  .pp-cart-shipping-list{ font-size:13px; }
}
