/* Crochet Dream – tema bianco / giallo chiaro / nero
   Va caricato DOPO gli stili interni di ogni pagina (vedi <link> prima di </head>). */
:root{
  --bianco:#fff;
  --giallo:#FFF4B8;
  --giallo-intenso:#FFE87A;
  --nero:#000;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
}

/* Base */
body{background:var(--bianco)!important;color:var(--nero)!important;font-family:var(--sans)!important;line-height:1.65}
*{text-shadow:none!important;-webkit-text-stroke:0!important}
h1,h2,h3,h4{font-family:var(--serif)!important;font-weight:500!important;color:var(--nero)!important;letter-spacing:0!important}
button,input,textarea,select,label{font-family:var(--sans)!important}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--nero);outline-offset:3px}

/* Decorazioni da eliminare */
.intro-section::before,.intro-section::after,
[class*="season-"]::before,[class*="season-"]::after,
.bg-element-3,.starfish,.yarn-ball-decoration{display:none!important}

/* Header e navigazione */
header{background:var(--bianco)!important;border-bottom:1px solid var(--nero)!important;box-shadow:none!important;padding:22px 0!important}
nav ul li a{background:transparent!important;color:var(--nero)!important;border:0!important;box-shadow:none!important;
  font-family:var(--sans)!important;font-size:1rem!important;text-transform:none!important;letter-spacing:.04em!important;
  padding:6px 2px!important;border-radius:0!important;border-bottom:1px solid transparent!important}
nav ul li a:hover{background:transparent!important;transform:none!important;border-bottom-color:var(--nero)!important}
.login-button-absolute{background:var(--nero)!important;color:var(--bianco)!important;border:1px solid var(--nero)!important;
  border-radius:0!important;box-shadow:none!important;font-size:.9rem!important;font-weight:500!important;padding:8px 18px!important}
.login-button-absolute:hover{background:var(--giallo)!important;color:var(--nero)!important;transform:none!important}

/* Sezioni (home, opere, admin) */
.intro-section,.social-section,.news-section,.season-section,.messages-section,
.season-management-section,.info-section,.tabs-container,.login-container{
  background:var(--bianco)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.intro-section{padding:80px 20px 60px!important;margin-top:0!important}
.social-section,.news-section,.season-section{border-top:1px solid var(--nero)!important;margin-top:60px!important;padding-top:60px!important}
.login-container{border:1px solid var(--nero)!important;box-shadow:none!important}

/* Titoli: da MAIUSCOLO a frase normale */
.intro-section h1,.social-section h2,.news-section h2,.season-section h2,.page-title h1{
  text-transform:lowercase!important;color:var(--nero)!important}
.intro-section h1::first-letter,.social-section h2::first-letter,.news-section h2::first-letter,
.season-section h2::first-letter,.page-title h1::first-letter{text-transform:uppercase}
.intro-section h1{font-size:clamp(2.4rem,6vw,4.2rem)!important;line-height:1.08!important;max-width:16ch;margin:30px auto 24px!important}
.social-section h2,.news-section h2,.season-section h2{font-size:clamp(1.9rem,4vw,2.8rem)!important;margin-bottom:40px!important}
.intro-section p,.page-title p{color:var(--nero)!important;font-size:1.1rem!important;max-width:60ch;margin-left:auto;margin-right:auto}
.main-logo{max-width:160px!important}

/* Video */
.video-container{border:1px solid var(--nero)!important;border-radius:0!important;box-shadow:none!important;background:var(--giallo)!important}

/* Social */
.social-buttons{gap:48px!important}
.social-button-item{color:var(--nero)!important;font-weight:500!important;text-transform:lowercase}
.social-button-item span::first-letter{text-transform:uppercase}
.social-button-item .icon-wrapper{width:96px!important;height:96px!important;background:var(--bianco)!important;
  border:1px solid var(--nero)!important;box-shadow:none!important}
.social-button-item:hover{transform:none!important}
.social-button-item .icon-wrapper:hover{background:var(--giallo)!important;box-shadow:none!important}
.social-button-item svg,.social-button-item .icon-wrapper:hover svg{stroke:var(--nero)!important;stroke-width:1.5!important;width:42%!important;height:42%!important}

/* Card: novità, prodotti, messaggi, utenti, storico */
.news-item,.product-item,.message-item,.user-item,.history-day-item,.total-counter-display,.chart-container{
  background:var(--giallo)!important;color:var(--nero)!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;transform:none!important}
.news-item:hover,.product-item:hover,.message-item:hover{background:var(--giallo-intenso)!important;transform:none!important;box-shadow:none!important}
.news-item h3,.product-item h3,.message-item h3,.message-item h4,.history-day-item h4{color:var(--nero)!important}
.news-item p,.product-item p,.message-item p,.user-item,.history-day-item p{color:var(--nero)!important}
.news-item img,.product-item img{border-radius:0!important}
.news-item::before{content:'Novità'!important;background:var(--nero)!important;color:var(--bianco)!important;
  font-family:var(--sans)!important;font-size:.75rem!important;transform:none!important;box-shadow:none!important;
  border-radius:0!important;padding:3px 10px!important;top:12px!important;right:12px!important}
.news-item .quantity{background:var(--bianco)!important;color:var(--nero)!important;border-radius:0!important;box-shadow:none!important;font-weight:500}
.message-item .timestamp,.no-messages{color:var(--nero)!important;opacity:.65}

/* Admin: tab, opzioni, pulsanti */
.tab-buttons{border-bottom:1px solid var(--nero)!important}
.tab-button{background:var(--bianco)!important;color:var(--nero)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.tab-button:hover{background:var(--giallo)!important}
.tab-button.active{background:var(--nero)!important;color:var(--bianco)!important}
.season-options label{background:var(--bianco)!important;color:var(--nero)!important;border:1px solid var(--nero)!important;border-radius:0!important;box-shadow:none!important}
.season-options label:hover{background:var(--giallo)!important}
.season-options input[type="checkbox"]{accent-color:var(--nero)}
.season-options input[type="checkbox"]:checked + span{color:var(--nero)!important;font-weight:600}
.save-button,#cookieBanner button,input[type="submit"]{background:var(--nero)!important;color:var(--bianco)!important;
  border:1px solid var(--nero)!important;border-radius:0!important;box-shadow:none!important;font-weight:500!important;transform:none!important}
.save-button:hover,#cookieBanner button:hover,input[type="submit"]:hover{background:var(--giallo)!important;color:var(--nero)!important;transform:none!important}
input[type="text"],input[type="password"],input[type="email"],textarea{background:var(--bianco)!important;color:var(--nero)!important;
  border:1px solid var(--nero)!important;border-radius:0!important}
.login-container h2{color:var(--nero)!important}
.back-link{color:var(--nero)!important;font-weight:500!important}
.error-message{color:var(--nero)!important;background:var(--giallo);padding:8px 12px}
.success-message{color:var(--nero)!important}

/* Finestra dettaglio opere */
.modal-content{background:var(--bianco)!important;border:1px solid var(--nero)!important;border-radius:0!important;box-shadow:none!important;color:var(--nero)!important}
.close-button{color:var(--nero)!important}
.modal-thumbnails img{border-radius:0!important;border:1px solid transparent!important}
.modal-thumbnails img:hover{border-color:var(--nero)!important}

/* Footer, cookie, contatti */
footer{background:var(--nero)!important;color:var(--bianco)!important;border:0!important;box-shadow:none!important}
footer p,footer a{color:var(--bianco)!important}
footer a:hover{color:var(--giallo)!important}
#cookieBanner{background:var(--giallo)!important;color:var(--nero)!important;border-top:1px solid var(--nero);box-shadow:none!important}
#cookieBanner a{color:var(--nero)!important}
.contact-popup-button{background:var(--nero)!important;color:var(--bianco)!important;box-shadow:none!important;border-radius:0!important}
.contact-popup-button:hover{background:var(--giallo)!important;color:var(--nero)!important;transform:none!important;box-shadow:none!important}

@media (max-width:768px){
  .intro-section{padding:50px 16px 40px!important}
  .social-section,.news-section,.season-section{margin-top:40px!important;padding-top:40px!important}
  nav ul li{margin:0 10px!important;width:auto!important}
}

/* ===== Aggiornamento: sfondi colorati, titoli in corsivo, immagini da vetrina ===== */
:root{--tan:#D2B48C}

/* Titoli in corsivo */
h1,h2,h3,h4{font-style:italic!important}

/* Sfondi delle sezioni */
.intro-section{background:var(--bianco)!important}
.social-section{background:var(--tan)!important;border:0!important}
.news-section{background:var(--giallo)!important;border:0!important}
.season-section{border:0!important;padding:60px 30px!important}
.season-summer{background:var(--giallo)!important}
.season-autumn{background:var(--tan)!important}
.season-winter{background:var(--bianco)!important;border:1px solid var(--nero)!important}
.season-spring{background:var(--giallo)!important}
.season-management-section{background:var(--giallo)!important}
.info-section,.messages-section{background:var(--tan)!important}
.page-title{background:var(--bianco)!important}

/* Card: contrasto con lo sfondo della sezione */
.news-section .news-item,.season-summer .product-item,.season-spring .product-item{background:var(--bianco)!important}
.season-autumn .product-item,.season-winter .product-item{background:var(--giallo)!important}
.news-section .news-item:hover,.season-summer .product-item:hover,.season-spring .product-item:hover{background:var(--tan)!important}
.season-winter .product-item:hover,.season-autumn .product-item:hover{background:var(--bianco)!important}
.season-management-section .season-options label{background:var(--bianco)!important}

/* Vetrina: card più compatte, testo centrato */
.news-grid{grid-template-columns:repeat(auto-fit,minmax(240px,300px))!important;gap:32px!important;justify-content:center!important}
.product-grid{grid-template-columns:repeat(auto-fit,minmax(220px,280px))!important;gap:32px!important;justify-content:center!important}
.news-item,.product-item{text-align:center!important;padding:28px 22px!important}
.news-item h3,.product-item h3{font-size:1.35rem!important}
.news-item::before{left:auto}

/* Immagini piccole, con forme diverse */
.news-item img,.product-item img{
  display:block!important;width:200px!important;height:240px!important;max-width:100%;
  object-fit:cover;margin:14px auto 18px!important;
  padding:6px;background:var(--bianco);border:1px solid var(--nero)!important;
  border-radius:100px 100px 0 0!important}                       /* arco */
.news-item:nth-child(4n+2) img,.product-item:nth-child(4n+2) img{
  width:220px!important;height:220px!important;border-radius:50%!important}            /* cerchio */
.news-item:nth-child(4n+3) img,.product-item:nth-child(4n+3) img{
  width:210px!important;height:210px!important;border-radius:28px!important}           /* quadrato morbido */
.news-item:nth-child(4n+4) img,.product-item:nth-child(4n+4) img{
  width:180px!important;height:240px!important;border-radius:50%!important}            /* ovale */
.product-item img{transition:none!important;transform:none!important}

/* ===== Aggiornamento: logo grande, menu marroncino, titolo a gomitolo ===== */
.main-logo{max-width:320px!important;width:100%}
@media (max-width:768px){.main-logo{max-width:240px!important}}

/* Menu in alto */
header{background:var(--tan)!important}
nav ul li a:hover{border-bottom-color:var(--nero)!important}
.login-button-absolute:hover{background:var(--bianco)!important}

/* Titolo della home: gomitolo tondo */
.intro-section h1{
  position:relative;display:flex!important;align-items:center;justify-content:center;
  width:min(460px,86vw)!important;max-width:none!important;aspect-ratio:1/1;
  margin:36px auto 48px!important;padding:12%!important;box-sizing:border-box;
  border-radius:50%;border:1px solid var(--nero);text-align:center;
  font-size:clamp(1.8rem,5vw,2.9rem)!important;text-transform:none!important;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.7) 0,rgba(255,255,255,0) 45%),
    repeating-linear-gradient(35deg,transparent 0 13px,rgba(210,180,140,.65) 13px 15px),
    repeating-linear-gradient(-40deg,transparent 0 17px,rgba(210,180,140,.45) 17px 19px),
    var(--giallo)}
.intro-section h1::first-letter{text-transform:none}
/* filo che esce dal gomitolo */
.intro-section h1::after{
  content:'';position:absolute;right:-8%;bottom:6%;width:22%;height:14%;
  border-right:2px solid var(--nero);border-bottom:2px solid var(--nero);border-radius:0 0 100% 0}

/* ===== Aggiornamento: logo dentro il tondo, titolo grande sotto ===== */
.logo-container{
  width:min(400px,82vw);aspect-ratio:1/1;margin:30px auto 10px!important;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;border:1px solid var(--nero);background:var(--giallo)}
.main-logo{max-width:72%!important;width:72%;mix-blend-mode:multiply}

.intro-section h1{
  display:block!important;position:static;width:auto!important;max-width:18ch!important;aspect-ratio:auto;
  margin:36px auto 28px!important;padding:0!important;border:0!important;border-radius:0!important;
  background:none!important;text-align:center;
  font-weight:700!important;font-size:clamp(2.6rem,7vw,4.8rem)!important;line-height:1.05!important}
.intro-section h1::after{display:none!important;content:none!important}

/* ===== Aggiornamento: un solo colore (#D2B48C), sfondi a tutta larghezza, vetrina illuminata ===== */
:root{--tan:#D2B48C}

/* Tutte le sezioni colorate usano lo stesso marroncino */
.social-section,.news-section,.season-summer,.season-autumn,.season-spring,
.season-management-section,.info-section,.messages-section{background-color:var(--tan)!important}
.season-winter{background-color:var(--tan)!important;border:0!important}
#cookieBanner{background:var(--tan)!important}

/* Sfondo a tutto schermo (il contenuto resta nella colonna centrale) */
.social-section,.news-section,.season-section,.season-management-section,.info-section,.messages-section{
  box-shadow:0 0 0 100vmax var(--tan)!important;clip-path:inset(0 -100vmax)}
body{overflow-x:hidden}

/* Luce dall'alto sulle sezioni con le vetrine */
.news-section,.season-section{
  background-image:radial-gradient(ellipse 65% 55% at 50% 0,rgba(255,244,184,.9) 0,rgba(255,244,184,0) 100%)!important}

/* Vetrina: niente card bianche, solo l'immagine con la sua forma */
.news-item,.product-item,
.news-section .news-item,.season-section .product-item,
.news-section .news-item:hover,.season-section .product-item:hover,
.season-autumn .product-item,.season-winter .product-item,
.season-autumn .product-item:hover,.season-winter .product-item:hover{
  background:transparent!important;box-shadow:none!important;padding:20px 10px!important}

.news-item img,.product-item img{
  padding:0!important;border:0!important;background:none!important;
  width:250px!important;height:300px!important;
  margin:18px auto 22px!important;
  filter:drop-shadow(0 0 22px rgba(255,244,184,.95)) drop-shadow(0 6px 14px rgba(0,0,0,.18));
  transition:transform .3s ease,filter .3s ease}
.news-item:nth-child(4n+2) img,.product-item:nth-child(4n+2) img{width:280px!important;height:280px!important}
.news-item:nth-child(4n+3) img,.product-item:nth-child(4n+3) img{width:270px!important;height:270px!important}
.news-item:nth-child(4n+4) img,.product-item:nth-child(4n+4) img{width:230px!important;height:300px!important}
.news-item:hover img,.product-item:hover img{
  transform:scale(1.04)!important;
  filter:drop-shadow(0 0 34px rgba(255,244,184,1)) drop-shadow(0 8px 18px rgba(0,0,0,.2))}

.news-grid,.product-grid{grid-template-columns:repeat(auto-fit,minmax(260px,320px))!important;gap:48px!important}
.news-item .quantity{background:var(--giallo)!important}
.news-item::before{background:var(--nero)!important}
@media (prefers-reduced-motion:reduce){.news-item img,.product-item img{transition:none}}

/* ===== Home: sezione collezioni (quadri) ===== */
.collections-section{text-align:center;padding:70px 20px!important;margin-top:60px;background:var(--bianco)}
.collections-section h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:0 0 40px}
.collections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
.collection-tile{display:block;text-decoration:none;color:var(--nero);background:var(--tan);
  padding:14px 14px 20px;transition:transform .25s ease,background-color .25s ease}
.collection-tile img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--nero)}
.collection-tile span{display:block;margin-top:16px;font-family:var(--serif);font-style:italic;font-size:1.4rem;line-height:1.2}
.collection-tile:hover{background:var(--giallo);transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){.collection-tile{transition:none}.collection-tile:hover{transform:none}}

/* ===== Sezione "Le mie sezioni" (home) ===== */
.groups-section{background:var(--bianco)!important;text-align:center;margin-top:60px!important;padding:60px 20px 20px!important;box-shadow:none!important}
.groups-section h2{font-size:clamp(1.9rem,4vw,2.8rem)!important;margin:0 0 40px!important}
.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;max-width:960px;margin:0 auto}
.group-tile{display:block;text-decoration:none;color:var(--nero);border:1px solid var(--nero);background:var(--bianco);overflow:hidden}
.group-tile img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .35s ease}
.group-tile span{display:block;padding:14px 10px;background:var(--tan);border-top:1px solid var(--nero);
  font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.5rem;transition:background .25s ease}
.group-tile:hover span,.group-tile:focus-visible span{background:var(--giallo)}
.group-tile:hover img{transform:scale(1.05)}
.group-tile{position:relative}
@media (prefers-reduced-motion:reduce){.group-tile img{transition:none}}

/* ===== Titoli di sezione: grassetto su fondo bianco ===== */
.social-section h2,.news-section h2,.season-section h2,.groups-section h2,
.season-management-section h2,.info-section h2,.messages-section h2{
  display:table!important;margin:0 auto 48px!important;
  padding:12px 44px!important;background:var(--bianco)!important;color:var(--nero)!important;
  border:1px solid var(--nero);outline:1px solid var(--nero);outline-offset:4px;
  font-weight:700!important;font-size:clamp(1.6rem,3.6vw,2.4rem)!important;line-height:1.2!important;text-align:center}

/* Il badge "Novità" non copre più il titolo della card */
.news-item{padding-top:48px!important}
.news-item::before{top:10px!important;right:10px!important}

/* ===== Menu in grassetto ===== */
nav ul li a{font-weight:700!important}

/* ===== Negozio (opere.html) ===== */
.page-title{text-align:center;padding:70px 20px 30px!important}
.page-title h1{font-size:clamp(2.6rem,6vw,4.4rem)!important;font-weight:700!important;margin:0 0 14px!important}

.product-item{display:flex!important;flex-direction:column;cursor:pointer}
.product-item h3{font-size:1.45rem!important;font-weight:600!important;margin:6px 0 8px!important}
.product-item p{font-size:1rem!important;line-height:1.6;max-width:34ch;margin:0 auto 10px!important;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.store-foot{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;align-items:center;gap:12px}
.store-foot .price{font-family:var(--serif);font-size:1.7rem;font-weight:700;color:var(--nero)}
.add-btn,.store-btn{background:var(--nero);color:var(--bianco);border:1px solid var(--nero);padding:12px 26px;font-size:1rem;font-weight:500;
  letter-spacing:.03em;cursor:pointer;border-radius:0;transition:background .2s,color .2s}
.add-btn:hover,.store-btn:hover{background:var(--giallo);color:var(--nero)}
.store-btn:disabled{opacity:.6;cursor:wait}
.modal-store{flex-direction:row;justify-content:space-between;padding:18px 0 0;margin:0}

/* Pulsante carrello */
.cart-button{position:absolute;left:20px;top:50%;transform:translateY(-50%);background:var(--bianco);color:var(--nero);
  border:1px solid var(--nero);padding:8px 16px;font-size:.95rem;font-weight:700;cursor:pointer;border-radius:0;z-index:1001}
.cart-button:hover{background:var(--giallo)}
.cart-count{display:inline-block;min-width:1.4em;margin-left:6px;padding:1px 6px;background:var(--nero);color:var(--bianco);font-size:.8rem;text-align:center}
@media (max-width:768px){.cart-button{position:fixed;left:20px;right:auto;top:auto;bottom:20px;transform:none;z-index:1002;padding:10px 18px}}

/* Cassetto carrello */
#cartOverlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .25s;z-index:10001}
#cartOverlay.open{opacity:1;pointer-events:auto}
#cartDrawer{position:fixed;top:0;right:0;height:100%;width:min(440px,100vw);background:var(--bianco);color:var(--nero);
  border-left:1px solid var(--nero);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease;z-index:10002}
#cartDrawer.open{transform:none}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--tan);border-bottom:1px solid var(--nero)}
.cart-head h2{margin:0!important;font-size:1.8rem!important;font-weight:700!important}
.cart-close{background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--nero)}
#cartBody{flex:1;overflow-y:auto;padding:12px 24px}
#cartFoot{padding:18px 24px 24px;border-top:1px solid var(--nero);display:flex;flex-direction:column;gap:10px}
.cart-empty{text-align:center;padding:50px 10px}
.cart-empty h3{font-size:1.8rem}
.cart-row{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--giallo-intenso)}
.cart-row img{width:76px;height:76px;object-fit:cover;border-radius:50%}
.cart-info strong{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:600;line-height:1.25}
.cart-price{display:block;margin:2px 0 8px;font-size:.95rem}
.qty{display:inline-flex;align-items:center;border:1px solid var(--nero)}
.qty button{background:var(--bianco);border:0;width:32px;height:32px;font-size:1.1rem;cursor:pointer;color:var(--nero)}
.qty button:hover{background:var(--giallo)}
.qty b{min-width:34px;text-align:center}
.cart-remove{background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--nero)}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem}
.cart-total strong{font-family:var(--serif);font-size:1.9rem}
.cart-note{font-size:.9rem;margin:0}
.store-link{background:none;border:0;text-decoration:underline;cursor:pointer;color:var(--nero);font-size:.95rem}
#orderForm label{display:block;margin:14px 0 0;font-weight:500;font-size:.95rem}
#orderForm input,#orderForm select,#orderForm textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:11px;font-size:1rem;
  border:1px solid var(--nero);border-radius:0;background:var(--bianco);color:var(--nero)}
.form-error{color:var(--nero);background:var(--giallo);margin:10px 0 0;padding:0}
.form-error:not(:empty){padding:8px 12px}
@media (prefers-reduced-motion:reduce){#cartDrawer,#cartOverlay{transition:none}}

/* ===== Negozio: bianco, nero, marroncino – look moderno e professionale ===== */
body.shop{--giallo:#EFE3D0;--giallo-intenso:#D2B48C}  /* niente giallo: solo tinte del marroncino */

/* Intestazione pagina: fascia nera a tutta larghezza */
body.shop .page-title{background:var(--nero)!important;margin:0!important;padding:64px 20px 56px!important;
  box-shadow:0 0 0 100vmax var(--nero)!important;clip-path:inset(0 -100vmax)}
body.shop .page-title h1{color:var(--bianco)!important;text-transform:none!important}
body.shop .page-title h1::first-letter{text-transform:none}
body.shop .page-title p{color:var(--bianco)!important;opacity:.85}

/* Sezioni: fondo marroncino pieno, senza luci né sfumature */
body.shop .season-section{background-color:var(--tan)!important;background-image:none!important;border:0!important;
  margin-top:0!important;padding:72px 20px!important}
body.shop main>section+section{margin-top:0!important}
body.shop .season-section + .season-section,
body.shop .season-section + section{margin-top:28px!important}
body.shop .subsection-title{font-size:clamp(1.5rem,3vw,2rem)!important;font-weight:700!important;text-align:left!important;
  margin:48px 0 24px!important;padding-bottom:10px;border-bottom:1px solid var(--nero);color:var(--nero)!important}
body.shop .season-section h2+.subsection-title{margin-top:0!important}

/* Griglia ordinata e card bianche */
body.shop .product-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:28px!important;justify-content:stretch!important}
body.shop .product-item,
body.shop .product-item:hover{background:var(--bianco)!important;padding:0!important;text-align:left!important;
  border:0!important;box-shadow:0 1px 2px rgba(0,0,0,.12)!important;transition:transform .25s ease,box-shadow .25s ease}
body.shop .product-item:hover{transform:translateY(-4px)!important;box-shadow:0 16px 30px rgba(0,0,0,.2)!important}
body.shop .product-item img,
body.shop .product-item:nth-child(n) img{
  width:100%!important;height:auto!important;aspect-ratio:4/5;object-fit:cover;margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;filter:none!important;transform:none!important}
body.shop .product-item:hover img{transform:none!important;filter:none!important}
body.shop .product-item h3{margin:18px 18px 6px!important;font-size:1.4rem!important;font-weight:700!important}
body.shop .product-item p{margin:0 18px 14px!important;max-width:none;font-size:.98rem!important;color:var(--nero)!important;opacity:.8}
body.shop .store-foot{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 18px 18px;margin-top:auto;border-top:1px solid var(--tan)}
body.shop .store-foot .price{font-size:1.5rem}
body.shop .add-btn{padding:10px 16px;font-size:.92rem}
body.shop .add-btn:hover{background:var(--tan);color:var(--nero);border-color:var(--nero)}
body.shop .store-btn:hover{background:var(--tan);color:var(--nero)}
body.shop .cart-button:hover,body.shop .qty button:hover,body.shop .group-tile:hover span{background:var(--tan)}
body.shop .form-error{background:var(--tan)}
@media (max-width:520px){body.shop .store-foot{flex-direction:column;align-items:stretch;text-align:center}}
@media (prefers-reduced-motion:reduce){body.shop .product-item{transition:none}}

/* ===== Negozio: intestazione con logo, titoli di sezione neri, immagini dinamiche ===== */
/* Intestazione: fondo marroncino, logo a sinistra del titolo */
body.shop .page-title{background:var(--tan)!important;box-shadow:0 0 0 100vmax var(--tan)!important;clip-path:inset(0 -100vmax);
  display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:36px;
  text-align:left;padding:48px 20px!important;margin-bottom:28px!important}
body.shop .page-title .title-logo{grid-row:1/3;width:170px;max-width:30vw;height:auto;mix-blend-mode:multiply}
body.shop .page-title h1{color:var(--nero)!important;margin:0 0 8px!important;text-align:left}
body.shop .page-title p{color:var(--nero)!important;opacity:1;margin:0!important;max-width:44ch;text-align:left}
@media (max-width:640px){
  body.shop .page-title{grid-template-columns:1fr;row-gap:12px;text-align:center}
  body.shop .page-title .title-logo{grid-row:auto;margin:0 auto}
  body.shop .page-title h1,body.shop .page-title p{text-align:center}}

/* Titoli di sezione: sfondo nero, testo bianco */
body.shop .season-section h2{background:var(--nero)!important;color:var(--bianco)!important;border:0!important;
  outline:1px solid var(--nero);outline-offset:5px}

/* Immagini: forme varie dentro la card bianca */
body.shop .product-item img,
body.shop .product-item:nth-child(n) img{
  width:calc(100% - 36px)!important;margin:18px 18px 0!important;height:auto!important;
  aspect-ratio:4/5;border-radius:999px 999px 0 0!important;transition:transform .35s ease}                 /* arco */
body.shop .product-item:nth-child(6n+2) img{aspect-ratio:1/1;border-radius:50%!important}                  /* cerchio */
body.shop .product-item:nth-child(6n+3) img{aspect-ratio:1/1;border-radius:0 50% 0 50%!important}          /* foglia */
body.shop .product-item:nth-child(6n+4) img{aspect-ratio:1/1;border-radius:34px!important}                 /* quadrato morbido */
body.shop .product-item:nth-child(6n+5) img{aspect-ratio:4/5;border-radius:50%!important}                  /* ovale */
body.shop .product-item:nth-child(6n) img{aspect-ratio:1/1;border-radius:50% 0 50% 0!important}            /* foglia inversa */
body.shop .product-item:hover img{transform:scale(1.04)!important}

/* Ritmo dinamico: le card pari scendono un poco */
@media (min-width:700px){body.shop .product-item:nth-child(even){margin-top:30px}}
@media (prefers-reduced-motion:reduce){body.shop .product-item img{transition:none}}

/* ===== Menu in alto: sfondo nero, testi e linee bianche (tutte le pagine) ===== */
header{background:var(--nero)!important;border-bottom:1px solid var(--bianco)!important}
nav ul li a{color:var(--bianco)!important}
nav ul li a:hover{border-bottom-color:var(--bianco)!important}
.login-button-absolute,.cart-button{background:var(--nero)!important;color:var(--bianco)!important;border:1px solid var(--bianco)!important}
.login-button-absolute:hover,.cart-button:hover,
body.shop .cart-button:hover{background:var(--bianco)!important;color:var(--nero)!important}
.cart-count{background:var(--bianco);color:var(--nero)}
.cart-button:hover .cart-count{background:var(--nero);color:var(--bianco)}

/* Negozio: titolo della pagina e logo su fondo bianco */
body.shop .page-title{background:var(--bianco)!important;box-shadow:0 0 0 100vmax var(--bianco)!important;margin-bottom:0!important}

/* ===== Negozio per categorie ===== */
body.shop .cat-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 20px 40px;background:var(--bianco);
  box-shadow:0 0 0 100vmax var(--bianco);clip-path:inset(0 -100vmax)}
body.shop .cat-nav a{padding:9px 20px;border:1px solid var(--nero);color:var(--nero);text-decoration:none;font-weight:500;background:var(--bianco);transition:background .2s,color .2s}
body.shop .cat-nav a:hover,body.shop .cat-nav a:focus-visible{background:var(--nero);color:var(--bianco)}
body.shop .season-section{scroll-margin-top:20px}
body.shop .page-title{padding-bottom:28px!important}

/* ===== Banner cookie: bianco, testo nero in grassetto, pulsante marroncino ===== */
#cookieBanner{background:var(--bianco)!important;color:var(--nero)!important;border-top:1px solid var(--nero);
  flex-direction:row!important;justify-content:center;align-items:center;gap:24px!important;padding:16px 24px!important}
#cookieBanner p{color:var(--nero)!important;font-weight:700!important;max-width:none!important;margin:0!important}
#cookieBanner a{color:var(--nero)!important;font-weight:700!important}
#cookieBanner button{background:var(--tan)!important;color:var(--nero)!important;border:1px solid var(--nero)!important;
  font-weight:700!important;padding:10px 26px!important;white-space:nowrap}
#cookieBanner button:hover{background:var(--nero)!important;color:var(--bianco)!important}
@media (max-width:768px){#cookieBanner{flex-direction:column!important;gap:12px!important}}

/* ===== Pulsante "Contattaci": gomitolo ===== */
.contact-popup-button{width:104px!important;height:104px!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:var(--nero)!important;display:block!important;
  right:28px!important;bottom:110px!important;font-size:1rem!important;line-height:1!important;overflow:visible;
  transition:transform .25s ease!important}
.contact-popup-button:hover{background:transparent!important;color:var(--nero)!important;box-shadow:none!important;
  transform:rotate(-8deg) scale(1.07)!important}
.contact-popup-button .yarn{display:block;width:100%;height:100%;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}
.contact-popup-button .label{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);padding:5px 14px;
  background:var(--bianco);color:var(--nero);border:1px solid var(--nero);font-weight:700;font-size:.9rem;white-space:nowrap}
.contact-popup-button::after{content:'';position:absolute;left:0;top:0;width:96px;height:96px;border-radius:50%;
  border:2px solid var(--nero);pointer-events:none;animation:contattaci-pulse 2.8s ease-out infinite}
@keyframes contattaci-pulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.5);opacity:0}}
@media (prefers-reduced-motion:reduce){.contact-popup-button::after{animation:none;display:none}.contact-popup-button{transition:none!important}}
@media (max-width:768px){.contact-popup-button{width:88px!important;height:88px!important;right:18px!important;bottom:110px!important}
  .contact-popup-button::after{width:81px;height:81px}}

/* ===== Footer completo (home e opere) ===== */
footer{text-align:left!important;padding:0!important;margin-top:80px!important;background:var(--nero)!important;border-top:1px solid var(--bianco)!important}
.footer-inner{max-width:1200px;margin:0 auto;padding:64px 20px 44px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:56px}
.footer-brandhead{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.footer-logo{width:88px;height:88px;flex:none;border-radius:50%;background:var(--bianco);object-fit:contain;padding:6px;box-sizing:border-box}
footer .footer-name{display:block;font-family:var(--serif);font-style:italic;font-weight:700;font-size:2rem;line-height:1.1;color:var(--tan)}
footer .footer-tag{display:block;margin-top:4px;font-size:.92rem;letter-spacing:.04em;color:var(--bianco);opacity:.85}
.footer-brand p{margin:0;max-width:38ch;line-height:1.7;color:var(--bianco);opacity:.85;font-size:.98rem}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
footer h4{margin:0 0 6px!important;font-size:1.4rem!important;font-weight:700!important;color:var(--tan)!important}
.footer-col a{color:var(--bianco)!important;text-decoration:none;font-size:1rem;padding-bottom:1px;border-bottom:1px solid transparent}
.footer-col a:hover,.footer-col a:focus-visible{color:var(--tan)!important;border-bottom-color:var(--tan)}
.footer-bottom{max-width:1200px;margin:0 auto;padding:22px 20px 28px;border-top:1px solid rgba(255,255,255,.3);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;font-size:.9rem}
.footer-bottom p{margin:0;color:var(--bianco);opacity:.8}
@media (max-width:820px){.footer-inner{grid-template-columns:1fr;gap:36px;padding-top:48px}
  .footer-bottom{flex-direction:column}}

/* ===== Pagina Contattaci ===== */
.contact-section{background:var(--tan)!important;padding:72px 20px 80px!important;margin:0!important;
  box-shadow:0 0 0 100vmax var(--tan)!important;clip-path:inset(0 -100vmax)}
.contact-section h2{display:table;margin:0 auto 40px;padding:12px 44px;background:var(--nero);color:var(--bianco)!important;
  outline:1px solid var(--nero);outline-offset:5px;font-weight:700!important;font-size:clamp(1.6rem,3.6vw,2.4rem)!important;text-align:center}
.contact-section form{max-width:640px;margin:0 auto;padding:36px;background:var(--bianco);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.contact-section label{display:block;margin-bottom:20px;font-weight:700;color:var(--nero)}
.contact-section input[type="text"],.contact-section textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:13px;
  font-size:1rem;font-weight:400;border:1px solid var(--nero)!important;border-radius:0!important;background:var(--bianco)!important;color:var(--nero)!important}
.contact-section textarea{resize:vertical;min-height:150px}
.contact-section button[type="submit"]{width:100%;padding:15px;background:var(--nero)!important;color:var(--bianco)!important;
  border:1px solid var(--nero)!important;border-radius:0!important;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.contact-section button[type="submit"]:hover{background:var(--tan)!important;color:var(--nero)!important}
.contact-section button[type="submit"]:disabled{opacity:.6;cursor:wait}
#formStatus{min-height:1.5em;margin:16px 0 0;text-align:center;font-weight:700}
@media (max-width:600px){.contact-section form{padding:24px 18px}}
