/*
Theme Name: Sally's Boutique
Description: Luxury boutique theme — gold/ivory/ink, WooCommerce + WhatsApp checkout.
Version: 2.0
License: GNU General Public License v2 or later
Text Domain: sallys
*/

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
::selection{background:#C6A15B;color:#fff}
.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-track{animation:marquee 30s linear infinite}
.marquee-track.fast{animation-duration:22s}
.u-link{position:relative}
.u-link::after{content:'';position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.u-link:hover::after{transform:scaleX(1);transform-origin:left}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.on{opacity:1;transform:none}
@keyframes sb-pulse{0%{box-shadow:0 0 0 0 rgba(198,161,91,.55)}70%{box-shadow:0 0 0 16px rgba(198,161,91,0)}100%{box-shadow:0 0 0 0 rgba(198,161,91,0)}}
.sb-pulse{animation:sb-pulse 2.5s infinite}

/* ---------- Product grids (shop, search, related) ---------- */
ul.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:0;padding:0;list-style:none}
@media(min-width:640px){ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){ul.products{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.75rem}}
ul.products li{list-style:none}
ul.products li.product{float:none;width:auto;margin:0}

/* ---------- Pagination: horizontal on desktop + mobile ---------- */
.woocommerce-pagination{margin-top:3rem}
.woocommerce-pagination ul.page-numbers{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.woocommerce-pagination li{display:inline-flex;list-style:none}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;min-width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border:1px solid rgba(28,25,19,.15);border-radius:9999px;font-size:.85rem;padding:0 .8rem}
.woocommerce-pagination .current{background:#1C1913;color:#fff;border-color:#1C1913}

/* ---------- WooCommerce compatibility (default Woo CSS is dequeued) ---------- */
.woocommerce form input[type=text],.woocommerce form input[type=email],.woocommerce form input[type=tel],
.woocommerce form input[type=number],.woocommerce form input[type=search],.woocommerce form select,.woocommerce form textarea,
.woocommerce-page form input,.woocommerce-page form select,.woocommerce-page form textarea{
  border:1px solid #EAD9B0;border-radius:.75rem;padding:.6rem .9rem;background:#fff;width:100%;
}
.woocommerce form label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(28,25,19,.6);margin-bottom:.35rem;display:block}
.woocommerce form button[type=submit]{background:#1C1913;color:#fff;border-radius:9999px;padding:.8rem 1.8rem;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;transition:background .3s}
.woocommerce form button[type=submit]:hover{background:#8C6D2F}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{border:1px solid #EAD9B0;background:#FBF8EF;border-radius:1rem;padding:.9rem 1.2rem;margin-bottom:1rem;font-size:.9rem}
a.added_to_cart{display:inline-block;margin-top:.5rem;color:#8C6D2F;text-decoration:underline;text-underline-offset:4px}
.onsale{position:absolute;top:.75rem;left:.75rem;background:#C6A15B;color:#fff;border-radius:9999px;padding:.25rem .8rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;z-index:5}
.star-rating{color:#C6A15B}

/* ---------- Woo element branding ---------- */
.quantity .qty{width:4.2rem;border:1px solid #EAD9B0;border-radius:9999px;padding:.55rem .5rem;text-align:center;background:#fff}
.single_add_to_cart_button{background:#1C1913;color:#fff!important;border-radius:9999px;padding:.95rem 2.2rem;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;transition:background .3s}
.single_add_to_cart_button:hover{background:#8C6D2F}
.product .price,.summary .price{color:#8C6D2F;font-weight:600}
.woocommerce-breadcrumb{font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:rgba(28,25,19,.5);margin-bottom:2rem}
.woocommerce-breadcrumb a{color:#8C6D2F}

/* ---------- Cart page ---------- */
.woocommerce-cart-form{overflow-x:auto;-webkit-overflow-scrolling:touch}
.woocommerce-cart-form table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed}
.woocommerce-cart-form th{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(28,25,19,.5);text-align:left;padding:.75rem .5rem;border-bottom:1px solid #EAD9B0;overflow:hidden}
.woocommerce-cart-form td{padding:1rem .5rem;border-bottom:1px solid #F6EFDD;vertical-align:middle;overflow:hidden}
.cart_totals{background:#fff;border:1px solid #EAD9B0;border-radius:1.5rem;padding:1.5rem}

/* Column widths — by position AND by class (belt & braces) */
.woocommerce-cart-form tr>*:nth-child(1){width:3.25rem}
.woocommerce-cart-form tr>*:nth-child(2){width:5.5rem}
.woocommerce-cart-form tr>*:nth-child(4){width:8.5rem}
.woocommerce-cart-form tr>*:nth-child(5){width:7.5rem}
.woocommerce-cart-form tr>*:nth-child(6){width:8.5rem}
.woocommerce-cart-form th.product-remove,
.woocommerce-cart-form td.product-remove{width:3.25rem;text-align:center}
.woocommerce-cart-form th.product-thumbnail,
.woocommerce-cart-form td.product-thumbnail{width:5.5rem}
.woocommerce-cart-form th.product-price,
.woocommerce-cart-form td.product-price{white-space:nowrap}
.woocommerce-cart-form th.product-quantity,
.woocommerce-cart-form td.product-quantity{width:7.5rem}
.woocommerce-cart-form th.product-subtotal,
.woocommerce-cart-form td.product-subtotal{white-space:nowrap}
.woocommerce-cart-form td.product-name{width:auto;overflow-wrap:anywhere}
.woocommerce-cart-form td.product-remove a{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:9999px;border:1px solid rgba(28,25,19,.2);color:#1C1913;text-decoration:none;font-size:.9rem;line-height:1}
.woocommerce-cart-form td.product-remove a:hover{border-color:#8C6D2F;color:#8C6D2F}
.woocommerce-cart-form td.product-thumbnail img{width:64px;height:64px;object-fit:cover;border-radius:1rem}

/* Coupon + Update row — td stays a table cell (colspan intact); only inner div flexes */
.woocommerce-cart-form td.actions{padding:1.25rem .5rem}
.woocommerce-cart-form td.actions .coupon{display:flex;gap:.75rem;align-items:center;max-width:26rem;margin:0 0 1rem}
.woocommerce-cart-form td.actions .coupon input[name="coupon_code"]{flex:1;width:auto;min-width:0;border-radius:9999px}
.woocommerce-cart-form td.actions .coupon button[name="apply_coupon"]{flex:none}
.woocommerce-cart-form button[name="update_cart"]{float:right}
@media(max-width:640px){
  .woocommerce-cart-form td.actions .coupon{max-width:100%}
  .woocommerce-cart-form button[name="update_cart"]{float:none;display:block;margin-top:.25rem}
}
.woocommerce form button[name="apply_coupon"]{background:transparent;color:#1C1913;border:1px solid rgba(28,25,19,.25);border-radius:9999px;padding:.8rem 1.6rem;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;transition:.3s}
.woocommerce form button[name="apply_coupon"]:hover{border-color:#8C6D2F;color:#8C6D2F}
.woocommerce form button[name="update_cart"]{background:#1C1913;color:#fff;border-radius:9999px;padding:.8rem 1.6rem;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;transition:.3s}
.woocommerce form button[name="update_cart"]:hover{background:#8C6D2F}
.woocommerce form button[name="update_cart"]:disabled{opacity:.5}

/* ---------- Single product gallery ---------- */
.woocommerce-product-gallery img{border-radius:2rem;width:100%}
.woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:.75rem;margin-top:.75rem;list-style:none;padding:0}
.woocommerce-product-gallery .flex-control-thumbs li{width:20%}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:1rem;cursor:pointer}

/* ---------- Static pages (Contact, FAQ, Policies) ---------- */
.sb-page h2,.sb-page h3{font-family:'Cormorant Garamond',serif;font-weight:600;color:#1C1913;margin:1.5rem 0 .75rem}
.sb-page h2{font-size:2rem}
.sb-page p{margin-bottom:1rem;color:rgba(28,25,19,.7)}
.sb-page a{color:#8C6D2F;text-decoration:underline;text-underline-offset:4px}
.sb-page a:hover{color:#B08A3E}
.sb-page iframe{width:100%;height:380px;border:0;border-radius:1.5rem}
.sb-page img{border-radius:1.5rem}
.sb-page ul{list-style:disc;padding-left:1.25rem;margin-bottom:1rem;color:rgba(28,25,19,.7)}