/* ===== Search side panel ===== */
.search-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .3s;z-index:98}
.search-backdrop.open{opacity:1;pointer-events:auto}
.search-panel{position:fixed;top:0;right:0;height:100%;width:420px;max-width:100%;background:#fff;z-index:99;transform:translateX(100%);transition:transform .35s ease;display:flex;flex-direction:column}
.search-panel.open{transform:none}
.admin-bar .search-panel,.admin-bar .drawer,.admin-bar .mobile-menu{top:32px;height:calc(100% - 32px)}
.sp-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}
.sp-head h3{font-family:var(--sans);font-size:18px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.sp-box{display:flex;align-items:center;margin:28px 24px 8px;border:1px solid var(--line);padding:0 6px 0 14px}
.sp-box:focus-within{border-color:var(--ink)}
.sp-box input{flex:1;border:0;outline:0;padding:14px 0;font-size:16px;background:transparent;min-width:0}
.sp-box input::-webkit-search-cancel-button{display:none}
.sp-go{width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.sp-body{flex:1;overflow:auto;padding:12px 24px 24px}
.sp-popular h4,.sp-results h4{font-size:17px;font-weight:600;margin:6px 0 10px}
.sp-popular a{display:block;padding:7px 0;font-size:16px;color:#333}
.sp-popular a:hover{color:var(--accent)}
.sp-popular[hidden]{display:none}
.sp-item{display:grid;grid-template-columns:60px 1fr;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.sp-item:hover .sp-name{color:var(--accent)}
.sp-thumb{aspect-ratio:3/4;overflow:hidden;background:var(--soft);display:block}
.sp-thumb svg,.sp-thumb img{width:100%;height:100%;stroke:none;object-fit:cover}
.sp-info{display:flex;flex-direction:column;gap:4px}
.sp-name{font-size:14px}
.sp-info .price{font-size:14px}
.sp-all{display:block;text-align:center;margin-top:18px;padding:12px;border:1px solid var(--ink);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.sp-all:hover{background:var(--ink);color:#fff}
.sp-empty{color:var(--muted);padding:10px 0}
@media (max-width:782px){.admin-bar .search-panel,.admin-bar .drawer,.admin-bar .mobile-menu{top:46px;height:calc(100% - 46px)}}
.mobile-search{display:none}
@media (max-width:900px){.mobile-search{display:inline-flex}}

/* ===== Theme extras ===== */
.card-media{position:relative}
.admin-bar .header{top:32px}
@media (max-width:782px){.admin-bar .header{top:0}}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.logo-img img{max-height:56px;width:auto}
.slide-content.right{text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.slide-content.right p{margin-left:auto}
.slide-art img,.banner .art img{transition:transform .8s}
.banner:hover .art img{transform:scale(1.04)}
.grid-auto{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.tab-panel[hidden]{display:none}
.card-img img{transition:opacity .4s,transform .8s}
.card:hover .card-img img{transform:scale(1.03)}
.card-info h4 a:hover{color:var(--accent)}
.quick-sizes{transform:none!important;display:flex;gap:4px;justify-content:center;flex-wrap:wrap;padding:8px}
.quick-sizes button{padding:5px 9px;border:1px solid var(--line);font-size:12px;background:#fff}
.quick-sizes button:hover{background:var(--ink);color:#fff}
.quick:disabled{opacity:.6}
.price ins{text-decoration:none;color:var(--accent);background:none}
.price del{color:var(--muted);font-weight:400;margin-right:8px;opacity:1}
.price .off{color:var(--accent);font-size:14px}
.opt-value{font-weight:400;text-transform:none;letter-spacing:0}
.pdp-actions .wish-inline.on svg{fill:var(--accent);stroke:var(--accent)}
.view-cart{display:block;text-align:center;margin-top:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:underline}
.acc-body p{margin-bottom:8px}
.pager{margin-top:40px;display:flex;justify-content:center}
.pager ul{display:flex;gap:6px;list-style:none}
.pager a,.pager span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;border:1px solid var(--line);font-size:14px}
.pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}
ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:32px 20px;list-style:none;margin:0;padding:0}
ul.products::before,ul.products::after{display:none!important}
li.htw-li{list-style:none;width:auto!important;margin:0!important;float:none!important}

/* ===== WooCommerce pages (cart, checkout, account) ===== */
.wc-page{max-width:1200px;margin:0 auto;padding:40px 32px 80px}
.woocommerce .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--ink)!important;background:var(--soft)!important;color:var(--ink)!important;font-size:14px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ink)!important}
.woocommerce-error{border-top-color:var(--accent)!important}
.woocommerce-error::before{color:var(--accent)!important}

.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
  background:var(--ink)!important;color:#fff!important;border-radius:0!important;padding:14px 28px!important;
  font-family:var(--sans);font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:500!important;border:1px solid var(--ink)!important;transition:.2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--accent)!important;border-color:var(--accent)!important}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.5;padding:14px 28px!important}

.woocommerce form .form-row{padding:0;margin:0 0 14px}
.woocommerce form .form-row label{font-size:13px;color:var(--muted);margin-bottom:4px}
.woocommerce form .form-row .required{color:var(--accent)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce .quantity .qty,.woocommerce-cart table.cart td.actions .coupon .input-text{
  border:1px solid var(--line);border-radius:0;padding:13px 14px;background:#fff;font-size:15px;line-height:1.4}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{border-color:var(--ink);outline:0}
.select2-container--default .select2-selection--single{border:1px solid var(--line)!important;border-radius:0!important;height:48px!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px!important;padding-left:14px!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px!important}
.woocommerce h3,.woocommerce h2{font-family:var(--serif);font-weight:600}
.woocommerce h3{font-size:26px;margin:0 0 16px}

/* Checkout: two columns */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.3fr 1fr;gap:0 50px;align-items:start}
.woocommerce-checkout form.checkout>*{grid-column:1}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 3}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:100%}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;background:var(--soft);margin:0;padding:28px 28px 0}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2;background:var(--soft);padding:10px 28px 28px;position:sticky;top:140px}
.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .woocommerce-form-login-toggle{margin-bottom:10px}
.woocommerce table.shop_table{border:0;border-radius:0;border-collapse:collapse}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-top:1px solid #e0d9cf;padding:12px 6px;font-size:14px}
.woocommerce table.shop_table tfoot .order-total th,.woocommerce table.shop_table tfoot .order-total td{font-size:17px;font-weight:600}
.woocommerce-checkout #payment{background:transparent!important;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:0!important}
.woocommerce-checkout #payment ul.payment_methods li{background:#fff;border:1px solid var(--line);padding:14px 16px!important;margin-bottom:10px;list-style:none}
.woocommerce-checkout #payment div.payment_box{background:var(--soft)!important;color:var(--muted);font-size:13px;margin:10px 0 0!important}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment div.form-row{padding:16px 0 0!important}
.woocommerce-checkout #place_order{width:100%;padding:18px!important;float:none}
.woocommerce-shipping-methods{list-style:none;margin:0;padding:0}

/* Cart page */
.woocommerce-cart table.cart img{width:70px}
.woocommerce-cart table.cart .product-name a{color:var(--ink)}
.woocommerce a.remove{color:var(--accent)!important}
.woocommerce a.remove:hover{background:var(--accent);color:#fff!important}
.woocommerce .cart-collaterals .cart_totals{background:var(--soft);padding:28px}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{width:100%;font-size:14px!important;padding:18px!important}

/* Order received */
.woocommerce-order{max-width:900px;margin:0 auto}
.woocommerce-thankyou-order-received{font-family:var(--serif);font-size:34px;text-align:center;margin:20px 0 30px}
ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:0;margin:0 0 30px!important;list-style:none}
ul.woocommerce-order-overview li{background:var(--soft);padding:16px;border:0!important;margin:0!important;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
ul.woocommerce-order-overview li strong{display:block;color:var(--ink);font-size:15px;text-transform:none;letter-spacing:0;margin-top:4px}

/* My account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px 1fr;gap:40px}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper,.woocommerce-account .woocommerce>.u-columns,.woocommerce-account .woocommerce>h2,.woocommerce-account .woocommerce>form{grid-column:1/-1}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--accent)}
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--line)!important;border-radius:0!important;padding:28px!important}

@media (max-width:900px){
  .wc-page{padding:24px 16px 60px}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .grid-auto{grid-template-columns:repeat(2,1fr)}
  ul.products{grid-template-columns:repeat(2,1fr);gap:24px 12px}
}

/* ===== Footer social icons ===== */
.footer .social{gap:12px;margin-top:16px}
.footer .social a{width:38px;height:38px;border-color:#666;color:#fff;transition:.2s}
.footer .social a:hover{background:#fff;color:var(--ink);border-color:#fff}
.footer .social svg{width:18px;height:18px}
