/*
Theme Name: Miri Art
Theme URI: https://www.instagram.com/miri__art
Author: Miri Art
Description: Thème WordPress / WooCommerce de la galerie Miri Art — tableaux originaux & parfums. Fond noir, accent fuchsia, style galerie d'art. Reprend à l'identique le design, les textes et la structure du site d'origine.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: miri-art
Tags: e-commerce, dark, one-column, custom-menu, featured-images, translation-ready
WC requires at least: 8.0
WC tested up to: 9.4
*/

:root{
  --background:#0a0a0a;--foreground:#f4f2ee;--card:#141414;--primary:#d6006f;--primary-foreground:#f4f2ee;
  --accent:#1f0f18;--muted-foreground:#a09e9a;--border:#2b2b2b;
  --font-display:'Cormorant Garamond',serif;--font-sans:'Inter',sans-serif;
  --hero-shade:linear-gradient(90deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.69) 35%,rgba(10,10,10,.1) 75%),linear-gradient(0deg,var(--background),transparent 35%);
  --image-shade:linear-gradient(0deg,rgba(10,10,10,.9),transparent 65%);
}
*,*::before,*::after{box-sizing:border-box;border-color:var(--border);letter-spacing:0}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.serif{font-family:var(--font-display);font-weight:400;margin:0}
p{margin:0}
a{color:inherit;text-decoration:none;transition:color .2s}
a:hover{color:var(--primary)}
img{max-width:100%;height:auto;display:block}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
em{font-style:italic}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.italic{font-style:italic}

/* ---------- Layout ---------- */
.site-width{max-width:1440px;margin:auto;padding-inline:64px;width:100%}
.eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--primary);font-weight:500}
.eyebrow.light{color:var(--foreground)}
.muted{color:var(--muted-foreground)}
.section{padding-top:90px;padding-bottom:90px}
.section.tinted{background:rgba(20,20,20,.3)}
.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px;gap:20px}
.section h2{font-size:44px;line-height:1.1;margin-top:12px}
.link-arrow{display:inline-flex;gap:12px;align-items:center;font-size:12px;padding-bottom:4px;border-bottom:1px solid var(--border);white-space:nowrap}
.link-arrow svg{flex:none}
.icon{width:1em;height:1em;flex:none}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary);height:48px;padding:0 24px;font-size:12px;font-weight:500;border-radius:0;transition:opacity .2s,background .2s;cursor:pointer;text-transform:none}
.btn:hover{opacity:.9;color:var(--primary-foreground)}
.btn.block{width:100%}
.btn.tall{height:52px}
.btn[disabled],.btn.disabled{opacity:.5;pointer-events:none}
.btn-outline{background:transparent;color:var(--foreground);border:1px solid var(--border)}
.btn-outline:hover{background:var(--accent);color:var(--foreground)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:0;color:var(--foreground);position:relative;padding:0}
.icon-btn:hover{color:var(--primary)}

/* ---------- Header ---------- */
.site-header{height:94px;position:absolute;inset:0 0 auto;z-index:20;border-bottom:1px solid color-mix(in srgb,var(--foreground) 15%,transparent)}
.site-header.inner{position:relative}
.site-header .site-width{display:flex;height:100%;align-items:center;justify-content:space-between;gap:20px}
.logo{font-family:var(--font-display);font-size:35px;line-height:1;color:var(--foreground)}
.logo span{color:var(--primary)}
.main-nav{display:flex;gap:36px;height:100%;align-items:center}
.main-nav a{position:relative;font-size:12px;color:var(--muted-foreground)}
.main-nav a.current{color:var(--foreground)}
.main-nav a.current:after{content:'';position:absolute;background:var(--primary);height:1px;width:16px;left:50%;transform:translateX(-50%);bottom:-12px}
.header-actions{display:flex;align-items:center;gap:16px}
.lang-switch{font-size:10px;letter-spacing:2px;padding:0 4px;background:none;border:0}
.lang-switch .on{color:var(--foreground)}
.lang-switch .off{color:var(--muted-foreground)}
.lang-switch .sep{color:var(--muted-foreground);margin:0 4px}
.cart-count{position:absolute;top:2px;right:0;background:var(--primary);border-radius:999px;width:16px;height:16px;font-size:9px;display:flex;align-items:center;justify-content:center;color:var(--primary-foreground)}
.cart-count:empty,.cart-count[data-n="0"]{display:none}
.only-mobile{display:none}

/* ---------- Drawers (menu mobile + panier) ---------- */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);z-index:90;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.overlay.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:512px;background:var(--background);border-left:1px solid var(--border);z-index:100;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column;padding:24px}
.drawer.open{transform:none}
.drawer.menu{max-width:384px}
.drawer-close{position:absolute;top:16px;right:16px}
.drawer h2.drawer-title{font-size:30px;line-height:1.2}
.drawer .drawer-desc{font-size:14px;color:var(--muted-foreground);margin-top:6px}
.drawer-body{flex:1;overflow-y:auto;margin-top:20px}
.mobile-nav{display:flex;flex-direction:column;gap:28px;margin-top:48px}
.mobile-nav a{font-family:var(--font-display);font-size:30px}

/* Mini-cart */
.mini-empty{text-align:center;padding:80px 0}
.mini-empty svg{margin:0 auto 24px;color:var(--muted-foreground)}
.mini-empty p{font-family:var(--font-display);font-size:24px;margin-bottom:24px}
.mini-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border)}
.mini-item img{width:80px;height:96px;object-fit:cover;background:var(--card);flex:none}
.mini-item .info{flex:1}
.mini-item .name{font-family:var(--font-display);font-size:20px;display:block}
.mini-item .meta{font-size:12px;color:var(--muted-foreground);margin-top:4px}
.mini-item .meta dl,.mini-item .meta dd,.mini-item .meta p{display:inline;margin:0}
.mini-item .meta dt{display:none}
.mini-item .price{margin-top:8px}
.mini-item .remove{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;color:var(--foreground);font-size:0}
.mini-item .remove:hover{color:var(--primary)}
.mini-foot{border-top:1px solid var(--border);padding-top:24px}
.mini-total{display:flex;justify-content:space-between;margin-bottom:16px}
.mini-actions{display:flex;flex-direction:column;gap:10px}

/* ---------- Hero ---------- */
.hero{height:760px;max-height:calc(100svh - 20px);min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:65% 50%;max-width:none}
.hero:after{content:'';position:absolute;inset:0;background:var(--hero-shade)}
.hero-content{position:relative;z-index:2;width:100%;padding-top:80px}
.hero h1{font-size:82px;line-height:1.06;margin:24px 0}
.hero h1 em{color:var(--primary);font-weight:400}
.hero-copy{max-width:380px;line-height:1.9;color:color-mix(in srgb,var(--foreground) 75%,transparent)}
.hero .eyebrow .dash{display:inline-block;width:36px;height:1px;background:var(--primary);vertical-align:middle;margin-left:12px}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}
.hero-ctas .text-link{font-size:12px;border-bottom:1px solid color-mix(in srgb,var(--foreground) 40%,transparent);padding-bottom:4px}
.hero-bottom{position:absolute;bottom:28px;left:64px;right:64px;z-index:3;display:flex;justify-content:space-between;align-items:end;color:var(--muted-foreground);font-size:10px}
.hero-bottom .scroll{display:flex;gap:12px;align-items:center;letter-spacing:.2em;text-transform:uppercase}
.art-caption{border-left:1px solid var(--primary);padding-left:16px}
.art-caption .t{color:var(--foreground);font-family:var(--font-display);font-size:18px}
.art-caption .s{margin-top:4px;font-size:9px}
.usp{border-bottom:1px solid var(--border)}
.usp .site-width{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-block:24px;font-size:10px;color:var(--muted-foreground)}
.usp span{display:flex;gap:12px;align-items:center}
.usp svg{color:var(--primary);width:15px;height:15px}

/* ---------- Product grid / cards ---------- */
.product-grid,ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;list-style:none;margin:0;padding:0}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0}
.art-image{aspect-ratio:1/1.16;overflow:hidden;background:var(--card);position:relative}
.art-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}
.product-card:hover img{transform:scale(1.035)}
.product-card{display:block}
.product-card h3{font-size:25px;margin:8px 0;line-height:1.2}
.product-card .category{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted-foreground);margin-top:18px}
.product-card .row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}
.product-card .row .dim{color:var(--muted-foreground)}
.art-badge{position:absolute;left:14px;top:14px;background:var(--background);padding:6px 9px;font-size:8px;letter-spacing:1px}
.catalogue-state{padding:48px 0;color:var(--muted-foreground);text-align:center}

/* ---------- Collections ---------- */
.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.collection-tile{position:relative;aspect-ratio:3/4;overflow:hidden;display:block}
.collection-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.collection-tile:after{content:'';inset:0;position:absolute;background:var(--image-shade)}
.collection-tile:hover img{transform:scale(1.04)}
.collection-tile:hover{color:var(--foreground)}
.collection-label{position:absolute;z-index:1;bottom:25px;left:23px;right:23px;display:flex;justify-content:space-between;align-items:center}
.collection-label h3{font-size:32px}
.collection-label p{font-size:10px;color:color-mix(in srgb,var(--foreground) 60%,transparent);margin-top:8px}
.section-aside{font-size:12px;color:var(--muted-foreground);max-width:260px;line-height:1.5rem}

/* ---------- Artist band ---------- */
.artist-band{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}
.artist-band img{width:100%;aspect-ratio:1.2;object-fit:cover}
.artist-band .figure{position:relative}
.artist-band .figure .quote{position:absolute;bottom:-20px;right:24px;background:var(--background);border:1px solid var(--border);padding:12px 20px;font-family:var(--font-display);font-style:italic;font-size:20px}
.artist-band h2{margin:20px 0!important}
.artist-band h2 em{font-style:italic}
.artist-band p.lead{color:var(--muted-foreground);line-height:2rem;max-width:400px}
.artist-band .link-arrow{margin-top:32px;padding-bottom:8px;gap:20px}

/* ---------- Newsletter ---------- */
.newsletter{border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:40px}
.newsletter h2{font-size:36px}
.newsletter .sub{font-size:12px;color:var(--muted-foreground);margin-top:12px}
.newsletter form{width:100%;max-width:384px}
.newsletter .field-row{display:flex;align-items:center;border-bottom:1px solid var(--border)}
.newsletter .field-row:focus-within{border-color:var(--primary)}
.line-input{background:transparent;border:0;padding:14px 0;outline:none;width:100%;color:var(--foreground);font:inherit}
.newsletter .small{font-size:9px;color:var(--muted-foreground);margin-top:12px}

/* ---------- Footer ---------- */
.footer{padding-top:60px;padding-bottom:30px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
.footer a{display:block;margin:13px 0;font-size:12px;color:var(--muted-foreground)}
.footer a:hover{color:var(--primary)}
.footer a.logo{font-size:35px;margin:0;color:var(--foreground);display:inline-block}
.footer a.inline{display:flex;align-items:center;gap:8px}
.footer .tagline{font-size:12px;color:var(--muted-foreground);line-height:1.75rem;margin-top:20px;max-width:260px}
.footer .line{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:12px;color:var(--muted-foreground)}
.footer .line svg,.footer a.inline svg{color:var(--primary);flex:none;width:14px;height:14px}
.footer .social{display:flex;gap:12px;margin-top:12px}
.footer .social a{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;margin:0;color:var(--primary-foreground);background:var(--primary)}
.footer .social a.ig{background:var(--foreground);color:var(--background)}
.footer .social a:hover{opacity:.8;color:inherit}
.footer .social svg{width:16px;height:16px;color:inherit}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;border-top:1px solid var(--border);margin-top:48px;padding-top:20px;font-size:10px;color:var(--muted-foreground)}
.footer-bottom .links{display:flex;gap:20px}
.footer-bottom .links a{margin:0;font-size:10px}

/* ---------- Page heads ---------- */
.page-title{font-size:64px;margin:18px 0 25px;line-height:1.1}
.page-intro{padding-top:65px;padding-bottom:40px}
.page-intro.center{text-align:center}
.prose-content{max-width:760px;line-height:1.9}
.prose-content h2{font-size:30px;margin:35px 0 15px;color:var(--foreground)}
.prose-content.legal{color:var(--muted-foreground)}
.prose-content.legal .notice{border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);padding:20px;font-size:14px}
.prose-content.legal a.contact-link{display:inline-block;color:var(--primary);margin-top:40px;border-bottom:1px solid var(--border);padding-bottom:4px}
.dropcap::first-letter{color:var(--primary);font-family:var(--font-display);font-size:3.2em;float:left;line-height:.85;padding-right:8px;padding-top:4px}
.script{font-family:'Dancing Script',cursive;font-size:48px;color:var(--primary);margin-top:40px;line-height:1.2}
.about .prose-content p+p{margin-top:24px}
.about .prose-content p.script{margin-top:40px}
html{scroll-behavior:smooth}
.about .prose-content h2{font-size:36px;margin-top:20px}
.about .btn{margin-top:32px}

/* ---------- Shop ---------- */
.filter-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:25px 0;border-block:1px solid var(--border);margin-bottom:30px}
.filter-tabs{display:flex;flex-wrap:wrap;gap:16px}
.filter-tab{font-size:12px;padding:8px 12px;border-bottom:1px solid transparent}
.filter-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.filter-tools{display:flex;gap:20px;align-items:center}
.filter-tools .search{display:flex;align-items:center;gap:8px;flex:1}
.filter-tools .search svg{color:var(--muted-foreground)}
.filter-tools input[type=search],.filter-tools select{background:transparent;outline:none;border:0;font-size:12px;color:var(--foreground);font-family:inherit;width:160px}
.filter-tools select{background:var(--background);padding:8px}
.shop-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted-foreground);margin-bottom:28px;gap:16px}
.shop-empty{padding:80px 0;text-align:center}
.shop-empty h2{font-size:30px;margin-bottom:16px}
.shop-pagination{margin-top:48px;text-align:center}
.shop-pagination ul{list-style:none;display:inline-flex;gap:8px;padding:0;margin:0;border:0!important}
.shop-pagination li{border:0!important}
.shop-pagination a,.shop-pagination span{display:inline-block;padding:8px 14px;border:1px solid var(--border);font-size:12px}
.shop-pagination .current{border-color:var(--primary);color:var(--primary)}

/* ---------- Single product ---------- */
.back-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:var(--muted-foreground);margin:36px 0}
.product-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}
.product-detail .gallery-col{min-width:0}
.product-detail .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;opacity:1!important}
.product-detail .woocommerce-product-gallery__wrapper{background:var(--card)}
.product-detail .woocommerce-product-gallery__image img{width:100%;max-height:700px;object-fit:contain;background:var(--card)}
.product-detail .flex-control-thumbs{display:flex;gap:12px;margin:16px 0 0;padding:0;list-style:none}
.product-detail .flex-control-thumbs li{width:80px!important;float:none!important;border:1px solid var(--border)}
.product-detail .flex-control-thumbs li img{height:72px;width:80px;object-fit:cover;opacity:.7;cursor:pointer}
.product-detail .flex-control-thumbs li img.flex-active,.product-detail .flex-control-thumbs li img:hover{opacity:1}
.product-detail .woocommerce-product-gallery__trigger{position:absolute;right:16px;bottom:16px;top:auto;z-index:9;background:rgba(10,10,10,.6);border-radius:0;width:40px;height:40px}
.product-detail .woocommerce-product-gallery__trigger:before{border-color:var(--foreground)}
.product-detail .woocommerce-product-gallery__trigger:after{background:var(--foreground)}
.product-summary{padding-block:20px}
.product-summary .page-title{font-size:48px}
.status-badge{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border);padding:8px 12px}
.product-summary .price{display:block;font-size:24px;margin:32px 0 28px;color:var(--foreground)}
.product-summary .price del{color:var(--muted-foreground);font-size:.8em}
.product-summary .price ins{background:none;text-decoration:none}
.product-summary .desc{color:var(--muted-foreground);line-height:1.75rem}
.product-summary dl{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:28px 0;padding:20px 0;font-size:12px}
.product-summary dl .r{display:flex;justify-content:space-between;margin-bottom:16px}
.product-summary dl .r:last-child{margin-bottom:0}
.product-summary dl .r.block{display:block}
.product-summary dt{color:var(--muted-foreground)}
.product-summary dl .r.block dt{margin-bottom:8px}
.product-summary dd{margin:0}
.product-summary form.cart{margin:0}
.product-summary form.cart .variations{width:100%;margin-bottom:24px;border:0}
.product-summary form.cart .variations td,.product-summary form.cart .variations th{display:block;padding:0;text-align:left;border:0}
.product-summary form.cart .variations label{font-size:12px;color:var(--muted-foreground);display:block;margin-bottom:8px}
.product-summary .reset_variations{font-size:11px;color:var(--muted-foreground);margin-left:12px}
.product-summary .single_variation_wrap .woocommerce-variation-price{margin-bottom:16px;font-size:20px}
.product-summary .single_variation_wrap .woocommerce-variation-description{display:none}
.product-summary .single_add_to_cart_button{width:100%;height:52px;background:var(--primary);color:var(--primary-foreground);border:0;border-radius:0;font-size:12px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 24px}
.product-summary .single_add_to_cart_button:hover{opacity:.9}
.product-summary .single_add_to_cart_button.disabled,.product-summary .single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}
.product-summary .quantity{margin-bottom:12px}
.product-summary .quantity input{background:var(--card);border:1px solid var(--border);color:var(--foreground);padding:12px;width:80px;border-radius:3px}
.product-summary .stock{display:none}
.product-summary .sold-note{display:flex;align-items:center;justify-content:center;width:100%;height:52px;background:var(--primary);color:var(--primary-foreground);opacity:.5;font-size:12px;font-weight:500}
.product-summary .trust{margin-top:32px;font-size:12px;color:var(--muted-foreground);display:flex;flex-direction:column;gap:16px}
.product-summary .trust p{display:flex;align-items:center;gap:12px}
.product-summary .trust svg{width:17px;height:17px;flex:none}
.product-summary .ask{display:inline-flex;align-items:center;gap:12px;margin-top:32px;font-size:12px;border-bottom:1px solid var(--border);padding-bottom:8px}
.related-section h2{margin-bottom:32px}
.related-section .eyebrow{display:block}

/* selects / inputs */
select,.field,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],textarea{font-family:inherit}
.field,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.product-summary select,.woocommerce-cart-form .quantity input,.select2-container--default .select2-selection--single{width:100%;background:var(--card);border:1px solid var(--border);padding:12px;color:var(--foreground);border-radius:3px;outline:none;font-size:14px}
.field:focus,.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--primary)}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}
.contact-grid h2{font-size:36px;margin-bottom:24px}
.contact-grid .lead{color:var(--muted-foreground);line-height:2rem;max-width:400px}
.contact-list{border-top:1px solid var(--border);margin-top:40px;padding-top:24px;display:flex;flex-direction:column;gap:16px;font-size:14px}
.contact-list p,.contact-list a{display:flex;align-items:center;gap:12px}
.contact-list svg{color:var(--primary);width:17px;height:17px;flex:none}
.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}
textarea.field{min-height:160px}
.check-row{display:flex;gap:12px;align-items:center;margin-bottom:24px;font-size:12px}
.check-row input{accent-color:var(--primary)}
.form-note{font-size:10px;color:var(--muted-foreground);margin-bottom:20px}
.sent-box{border:1px solid var(--border);padding:32px}
.sent-box h2{font-size:30px;margin-bottom:16px}
.sent-box p{color:var(--muted-foreground);margin-bottom:24px}
.hp{position:absolute!important;left:-9999px;opacity:0}

/* ---------- Toast ---------- */
.miri-toast{position:fixed;right:20px;bottom:20px;z-index:200;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--primary);padding:14px 18px;font-size:13px;max-width:340px;box-shadow:0 8px 30px rgba(0,0,0,.5);animation:appear .5s ease both}
.miri-toast.err{border-left-color:#ff4d4d}
.miri-toast.hide{opacity:0;transition:opacity .5s}

/* ---------- WooCommerce notices ---------- */
.woocommerce-notices-wrapper{max-width:1440px;margin:auto;padding-inline:64px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:16px 0;padding:14px 18px;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--primary);font-size:13px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.woocommerce-error{border-left-color:#ff4d4d}
.woocommerce-message .button,.woocommerce-info .button{order:2;background:var(--primary);color:var(--primary-foreground);padding:8px 16px;font-size:12px}
main .woocommerce-notices-wrapper{padding-inline:0}

/* ---------- Cart & Checkout (shortcodes) ---------- */
.wc-page{padding-bottom:96px}
.wc-page .entry-content{max-width:1200px}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--border);margin-bottom:24px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:16px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;font-size:14px}
.woocommerce table.shop_table th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-foreground);font-weight:500}
.woocommerce table.cart img{width:72px;height:90px;object-fit:cover}
.woocommerce a.remove{color:var(--foreground)!important;font-size:22px;line-height:1}
.woocommerce a.remove:hover{color:var(--primary)!important;background:none!important}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce button.button.alt,.woocommerce a.button.alt{background:var(--primary);color:var(--primary-foreground);border:0;border-radius:0;padding:14px 24px;font-size:12px;font-weight:500;display:inline-block;cursor:pointer;line-height:1.2}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{opacity:.9;color:var(--primary-foreground);background:var(--primary)}
.woocommerce .button.alt{background:var(--primary)}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end}
.woocommerce .cart-collaterals .cart_totals{width:100%;max-width:440px}
.woocommerce .cart_totals h2,.woocommerce #order_review_heading,.woocommerce-checkout h3{font-size:30px;margin-bottom:20px}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;width:100%}
.woocommerce .coupon{display:flex;gap:10px;align-items:center}
.woocommerce .coupon .input-text{width:180px;background:var(--card);border:1px solid var(--border);padding:12px;color:var(--foreground)}
.woocommerce form .form-row{margin-bottom:18px;padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:8px;font-size:13px}
.woocommerce form .form-row .required{color:var(--primary);text-decoration:none}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48%}
.woocommerce form .form-row-first{float:left}.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both}
.woocommerce-checkout #customer_details{margin-bottom:32px}
.woocommerce-checkout #payment{background:var(--card);border:1px solid var(--border);border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--border);padding:20px;list-style:none;margin:0}
.woocommerce-checkout #payment div.payment_box{background:var(--background);color:var(--muted-foreground);padding:16px;margin-top:12px}
.woocommerce-checkout #payment div.payment_box:before{display:none}
.woocommerce-checkout #payment div.form-row{padding:20px}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12px;color:var(--muted-foreground)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:20px;margin:0 0 32px}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{color:var(--primary)}
.woocommerce-account .woocommerce-MyAccount-navigation a{font-size:13px}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon{border:1px solid var(--border);padding:24px;margin:20px 0;border-radius:0}
.select2-dropdown{background:var(--card);border-color:var(--border);color:var(--foreground)}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--foreground);padding:0}
.select2-container--default .select2-selection--single{height:auto}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--primary)}
.select2-search--dropdown .select2-search__field{background:var(--background);color:var(--foreground);border:1px solid var(--border)}
.woocommerce-breadcrumb{display:none}
.entry-content p+p{margin-top:1em}
.generic-page{padding-bottom:96px}
.generic-page .entry-content{max-width:760px;line-height:1.9}
.not-found{text-align:center;padding:140px 0}
.not-found h1{font-size:80px}
.not-found p{margin:16px 0 32px;color:var(--muted-foreground)}

/* ---------- Animations ---------- */
.fade-in{animation:appear .9s ease both}
@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ---------- Responsive ---------- */
@media(min-width:1600px){.hero{height:850px}}
@media(max-width:900px){
  .site-width,.woocommerce-notices-wrapper{padding-inline:28px}
  .hero h1{font-size:65px}
  .hero-bottom{left:28px;right:28px}
  .product-grid,ul.products,.collection-grid{grid-template-columns:repeat(2,1fr)}
  .artist-band{gap:30px}
  .product-detail{gap:30px}
  .footer-top{grid-template-columns:2fr 1fr 1fr}
  .newsletter{flex-direction:column;align-items:start}
  .contact-grid{gap:48px}
  .main-nav{display:none}
  .only-mobile{display:inline-flex}
  .only-desktop{display:none!important}
}
@media(max-width:600px){
  .site-width,.woocommerce-notices-wrapper{padding-inline:22px}
  .site-header{height:78px}
  .logo{font-size:30px}
  .hero{min-height:640px;height:calc(100svh - 25px);max-height:850px}
  .hero h1{font-size:55px}
  .hero-copy{max-width:290px}
  .hero-image{object-position:60%}
  .hero-bottom{left:22px;right:22px}
  .hero-bottom .art-caption{display:none}
  .section{padding-block:55px}
  .section h2{font-size:35px}
  .section-top{align-items:start}
  .product-grid,ul.products{gap:18px 14px}
  .product-card h3{font-size:22px}
  .collection-grid{gap:14px}
  .collection-label{left:14px;right:14px;bottom:15px}
  .collection-label h3{font-size:26px}
  .artist-band,.product-detail,.contact-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .page-title{font-size:48px}
  .page-intro{padding-top:45px}
  .filter-row{gap:15px}
  .newsletter{gap:25px}
  .usp .site-width{justify-content:center}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
  .woocommerce table.shop_table_responsive tr td::before{color:var(--muted-foreground)}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
