/*
Theme Name: Latina Mercato Theme
Theme URI: https://example.com/latina-mercato
Author: Italfaber
Description: Tema grafico leggero e HTML-first per Latina Mercato Indipendente. Il plugin gestisce dati e commercio; il tema gestisce solo la forma.
Version: 0.4.3
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: latina-mercato
*/

:root{
  --lm-red:#c70000;
  --lm-red-dark:#940000;
  --lm-gold:#d89a16;
  --lm-gold-soft:#fff4d6;
  --lm-ink:#191919;
  --lm-muted:#666;
  --lm-line:#dedede;
  --lm-paper:#fff;
  --lm-soft:#f5f5f3;
  --lm-width:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lm-soft);color:var(--lm-ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:var(--lm-red);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--lm-red-dark)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}

.site-shell{min-height:100vh;display:flex;flex-direction:column}
.site-header{background:var(--lm-paper);border-top:5px solid var(--lm-red);border-bottom:1px solid var(--lm-line)}
.header-inner,.main-inner,.footer-inner{width:min(calc(100% - 2rem),var(--lm-width));margin-inline:auto}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem 0}
.site-branding{display:flex;align-items:center;gap:.9rem;min-width:0}
.site-logo img{max-height:54px;width:auto;display:block}
.site-title{margin:0;font-size:1.42rem;line-height:1.1;font-weight:900;letter-spacing:-.02em}
.site-title a{color:var(--lm-ink);text-decoration:none}
.site-description{margin:.25rem 0 0;color:var(--lm-muted);font-size:.9rem}
.site-nav ul{list-style:none;display:flex;align-items:center;gap:.35rem;margin:0;padding:0;flex-wrap:wrap}
.site-nav li{position:relative}
.site-nav a{display:block;padding:.65rem .8rem;color:var(--lm-ink);font-weight:700;text-decoration:none;border-bottom:3px solid transparent}
.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current-menu-ancestor>a{color:var(--lm-red);border-bottom-color:var(--lm-gold)}
.site-nav .menu-item-has-children>a{padding-right:1.65rem}
.site-nav .menu-item-has-children>a::after{content:"▾";position:absolute;right:.55rem;top:50%;transform:translateY(-52%);font-size:.72rem;color:var(--lm-gold)}
.site-nav .sub-menu{position:absolute;z-index:100;left:0;top:calc(100% - 1px);display:block;min-width:230px;max-width:320px;padding:.45rem 0;margin:0;gap:0;background:#fff;border:1px solid var(--lm-line);border-top:4px solid var(--lm-gold);box-shadow:0 12px 30px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}
.site-nav .sub-menu li{width:100%}
.site-nav .sub-menu a{padding:.72rem .9rem;border:0;border-left:4px solid transparent;line-height:1.3;white-space:normal}
.site-nav .sub-menu a:hover,.site-nav .sub-menu .current-menu-item>a{background:var(--lm-gold-soft);border-left-color:var(--lm-red);color:var(--lm-red-dark)}
.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.site-nav .sub-menu .sub-menu{left:100%;top:-.45rem}
.submenu-toggle{display:none}
.menu-toggle{display:none;border:1px solid var(--lm-line);background:var(--lm-paper);padding:.65rem .8rem;font-weight:800}

.site-main{flex:1}
.main-inner{padding:2rem 0 4rem}
.content-card{background:var(--lm-paper);border:1px solid var(--lm-line);padding:clamp(1rem,2.2vw,2rem)}
.page-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:3px solid var(--lm-red)}
.page-title{margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.035em}
.archive-description{color:var(--lm-muted)}
.entry-content>*:first-child{margin-top:0}
.entry-content>*:last-child{margin-bottom:0}
.entry-content h2,.entry-content h3{line-height:1.2}

.portal-intro{background:linear-gradient(115deg,var(--lm-red),var(--lm-red-dark));color:#fff;padding:clamp(1.4rem,4vw,3.5rem);margin-bottom:1.5rem;border-bottom:8px solid var(--lm-gold)}
.portal-intro h1{margin:0 0 .6rem;font-size:clamp(2rem,5vw,4rem);line-height:1;max-width:850px}
.portal-intro p{max-width:760px;font-size:1.08rem;margin:0;color:#fff}

.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}
.post-card{background:#fff;border:1px solid var(--lm-line);padding:1rem}
.post-card h2{font-size:1.2rem;line-height:1.2;margin:.8rem 0 .35rem}
.post-card h2 a{color:var(--lm-ink);text-decoration:none}
.post-card h2 a:hover{color:var(--lm-red)}
.post-card .entry-summary{color:var(--lm-muted)}

.site-footer{margin-top:auto;background:#202020;color:#eee;border-top:6px solid var(--lm-gold)}
.footer-inner{padding:2rem 0;display:grid;grid-template-columns:2fr 1fr;gap:2rem}
.site-footer a{color:#fff}
.footer-title{font-weight:900;font-size:1.2rem;margin:0 0 .4rem}
.footer-note{color:#bbb;margin:0}

/* Plugin Latina Mercato Indipendente */
.lmi-store-site,.lmi-product-page,.lmi-cart,.lmi-checkout{max-width:none!important;margin:0!important;background:#fff}
.lmi-store-hero{padding:0!important;border:1px solid var(--lm-line)!important;background:var(--lm-paper);overflow:hidden;gap:0!important}
.lmi-store-hero>div{padding:clamp(1.4rem,4vw,3.2rem)}
.lmi-store-hero img{height:100%!important;min-height:360px;object-fit:cover}
.lmi-kicker{display:inline-block;margin:0 0 .6rem;color:var(--lm-red);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.lmi-store-hero h1,.lmi-product-info h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:.1rem 0 1rem;letter-spacing:-.04em}
.lmi-store-nav{position:sticky;top:0;z-index:20;background:#fff;padding:.65rem!important;border:1px solid var(--lm-line)!important;border-top:0!important;gap:.35rem!important}
.lmi-store-nav a{padding:.55rem .8rem;color:var(--lm-ink);border-left:3px solid transparent}
.lmi-store-nav a:hover{color:var(--lm-red);border-left-color:var(--lm-gold)}
.lmi-store-site section{padding:clamp(1.5rem,4vw,3rem)!important;border:1px solid var(--lm-line)!important;border-top:0!important;background:#fff}
.lmi-store-site section h2{margin-top:0;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.1;padding-bottom:.55rem;border-bottom:3px solid var(--lm-gold)}
.lmi-store-site dl{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1rem}
.lmi-store-site dt{font-weight:900;color:var(--lm-red)}
.lmi-store-site dd{margin:0}

.lmi-filter{background:#fff4d6;padding:1rem;border:1px solid #e5c56c;margin:0 0 1.3rem!important}
.lmi-filter input,.lmi-filter select,.lmi-checkout input,.lmi-checkout select,.lmi-product-page input{border:1px solid #aaa!important;border-radius:0!important;background:#fff}
.lmi-filter button,.lmi-button{background:var(--lm-red)!important;border-color:var(--lm-red)!important;color:#fff!important;font-weight:900!important;border-radius:0!important;transition:.15s ease}
.lmi-filter button:hover,.lmi-button:hover{background:var(--lm-red-dark)!important;border-color:var(--lm-red-dark)!important;color:#fff!important;transform:translateY(-1px)}
.lmi-button-secondary{background:#fff!important;color:var(--lm-red)!important;border-color:var(--lm-red)!important}
.lmi-button-secondary:hover{background:var(--lm-gold-soft)!important;color:var(--lm-red-dark)!important}

.lmi-product-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:1rem!important}
.lmi-product-card{display:flex;flex-direction:column;border:1px solid var(--lm-line)!important;padding:0!important;background:#fff!important;box-shadow:0 2px 0 rgba(0,0,0,.03);transition:.15s ease}
.lmi-product-card:hover{border-color:#bbb!important;transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.07)}
.lmi-product-card>a:first-child{text-decoration:none;color:inherit}
.lmi-product-card img{aspect-ratio:4/3;object-fit:cover;background:#eee}
.lmi-product-card h3,.lmi-product-card>p,.lmi-card-actions{margin-left:1rem!important;margin-right:1rem!important}
.lmi-product-card h3{font-size:1.15rem!important;line-height:1.25}
.lmi-store-name{color:var(--lm-muted);font-size:.9rem}
.lmi-price{color:var(--lm-red);font-size:1.5rem!important;margin-top:auto}
.lmi-card-actions{padding-bottom:1rem}

.lmi-product-page{border:1px solid var(--lm-line);padding:clamp(1rem,3vw,2.5rem)}
.lmi-product-media{background:#f1f1f1}
.lmi-product-media img{width:100%;aspect-ratio:1/1;object-fit:contain}
.lmi-product-info{align-self:start}
.lmi-product-info form{padding:1rem;background:var(--lm-gold-soft);border-left:5px solid var(--lm-gold)}
.lmi-product-info input[type=number]{width:90px;padding:.65rem}

.lmi-cart-store{border:1px solid var(--lm-line);padding:1rem;background:#fff}
.lmi-cart-store h2{margin-top:0;border-bottom:3px solid var(--lm-gold);padding-bottom:.45rem}
.lmi-cart th{background:#292929;color:#fff}
.lmi-cart td,.lmi-cart th{border-color:#ccc!important}
.lmi-checkout{border:1px solid var(--lm-line);padding:clamp(1rem,3vw,2rem)}

.notice-box{padding:1rem;background:var(--lm-gold-soft);border-left:5px solid var(--lm-gold)}

@media(max-width:850px){
  .menu-toggle{display:block}
  .site-nav{display:none;width:100%}
  .site-nav.is-open{display:block}
  .header-inner{flex-wrap:wrap}
  .site-nav ul{display:block;border-top:1px solid var(--lm-line);padding-top:.5rem}
  .site-nav li{width:100%}
  .site-nav a{border-bottom:1px solid var(--lm-line);padding:.78rem 3.2rem .78rem .8rem}
  .site-nav .menu-item-has-children>a::after{display:none}
  .site-nav .sub-menu{position:static;min-width:0;max-width:none;padding:0;margin:0;border:0;border-left:4px solid var(--lm-gold);box-shadow:none;opacity:1;visibility:visible;transform:none;background:#fafafa}
  .site-nav .sub-menu a{padding-left:1.25rem;border-bottom:1px solid var(--lm-line)}
  .site-nav .sub-menu .sub-menu{position:static;margin-left:.7rem}
  .submenu-toggle{position:absolute;right:.35rem;top:.35rem;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--lm-line);background:#fff;color:var(--lm-red);font-weight:900;cursor:pointer}
  .submenu-toggle::before{content:"+";font-size:1.2rem;line-height:1}
  .submenu-toggle[aria-expanded="true"]::before{content:"−"}
  .js .site-nav .sub-menu{display:none}
  .js .site-nav .is-submenu-open>.sub-menu{display:block}
  .footer-inner{grid-template-columns:1fr}
  .lmi-store-nav{position:static}
}

@media(max-width:700px){
  .main-inner{width:min(calc(100% - 1rem),var(--lm-width));padding-top:1rem}
  .content-card{padding:.85rem}
  .lmi-store-hero img{min-height:230px}
  .lmi-store-site dl{grid-template-columns:1fr}
  .lmi-store-site dd{margin-bottom:.7rem}
  .lmi-product-card{transform:none!important}
  .lmi-cart{overflow-x:auto}
}

/* Barra mobile dell'area di lavoro e del carrello */
.lm-mobile-bar{display:none}

@media(max-width:782px){
  body{padding-bottom:74px}
  .lm-mobile-bar{
    position:fixed;
    z-index:9995;
    left:0;
    right:0;
    bottom:0;
    display:block;
    padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
    background:rgba(255,255,255,.98);
    border-top:1px solid var(--lm-line);
    box-shadow:0 -7px 22px rgba(0,0,0,.14);
  }
  .lm-mobile-bar__inner{
    width:100%;
    min-height:48px;
    display:flex;
    gap:8px;
  }
  .lm-mobile-action{
    flex:1;
    min-width:0;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:9px 12px;
    border:1px solid transparent;
    font-weight:900;
    line-height:1;
    text-decoration:none;
  }
  .lm-mobile-action--workspace{
    background:#202020;
    border-color:#202020;
    color:#fff;
  }
  .lm-mobile-action--workspace:hover,
  .lm-mobile-action--workspace[aria-expanded="true"]{
    background:#000;
    color:#fff;
  }
  .lm-mobile-action--cart{
    background:var(--lm-red);
    border-color:var(--lm-red);
    color:#fff;
  }
  .lm-mobile-action--cart:hover{
    background:var(--lm-red-dark);
    border-color:var(--lm-red-dark);
    color:#fff;
  }
  .lm-mobile-icon{font-size:1.08rem;line-height:1}
  .lm-cart-count{
    min-width:23px;
    height:23px;
    display:inline-grid;
    place-items:center;
    padding:0 6px;
    border-radius:999px;
    background:var(--lm-gold);
    color:#1b1507;
    font-size:.75rem;
    font-weight:900;
  }

  /* Il vero menu dell'area di lavoro viene aperto dal pulsante basso. */
  .lm-is-workspace .lmi-workspace-nav{
    display:none!important;
    position:fixed;
    z-index:9994;
    left:8px;
    right:8px;
    bottom:calc(70px + env(safe-area-inset-bottom));
    max-height:min(72vh,620px);
    overflow:auto;
    flex-direction:column!important;
    background:#fff;
    border:1px solid var(--lm-line)!important;
    border-top:5px solid var(--lm-gold)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.24);
  }
  .lm-is-workspace .lmi-workspace-nav.is-mobile-open{
    display:block!important;
  }
  .lm-is-workspace .lmi-workspace-nav a{
    display:block!important;
    white-space:normal!important;
    padding:15px 18px!important;
    border:0!important;
    border-bottom:1px solid #e8e8e8!important;
    color:var(--lm-ink)!important;
    font-size:1.02rem;
    font-weight:900;
  }
  .lm-is-workspace .lmi-workspace-nav a:last-child{border-bottom:0!important}
  .lm-is-workspace .lmi-workspace-nav a.is-active{
    padding-left:14px!important;
    background:var(--lm-red)!important;
    border-left:5px solid var(--lm-gold)!important;
    color:#fff!important;
  }
  .lm-is-workspace .lmi-workspace-nav a:hover{
    background:var(--lm-gold-soft)!important;
    color:var(--lm-red-dark)!important;
  }
  .lm-is-workspace .lmi-workspace-nav a.is-active:hover{
    background:var(--lm-red-dark)!important;
    color:#fff!important;
  }
}

@media print{
  body{padding-bottom:0}
  .lm-mobile-bar{display:none!important}
}

/* Negozio globale, carrello e checkout */
.content-card--commerce{padding:0;border:0;background:transparent}
.content-card--commerce>.entry-content{margin:0}
.lmi-commerce-header,.lmi-global-shop__hero{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:clamp(1.4rem,4vw,3rem);background:linear-gradient(120deg,#fff 0,#fff 68%,var(--lm-gold-soft) 68%);border:1px solid var(--lm-line);border-bottom:6px solid var(--lm-red)}
.lmi-commerce-header h1,.lmi-global-shop__hero h1{margin:.1rem 0 .6rem;font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:-.045em}
.lmi-commerce-header p,.lmi-global-shop__hero p{max-width:760px;margin:.25rem 0;color:var(--lm-muted)}
.lmi-global-shop__hero dl{display:flex;gap:.7rem;margin:0;flex-shrink:0}
.lmi-global-shop__hero dl div{min-width:110px;padding:1rem;background:#fff;border:1px solid var(--lm-line);border-top:4px solid var(--lm-gold);text-align:center}
.lmi-global-shop__hero dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--lm-muted)}
.lmi-global-shop__hero dd{margin:.2rem 0 0;font-size:1.8rem;font-weight:950;color:var(--lm-red)}
.lmi-global-filter{display:grid!important;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr));gap:.8rem;align-items:end;margin:1rem 0!important;padding:1rem!important;background:#fff!important;border:1px solid var(--lm-line)!important;border-left:6px solid var(--lm-gold)!important}
.lmi-global-filter label{display:grid;gap:.35rem;font-weight:850;font-size:.83rem}
.lmi-global-filter label>span{color:var(--lm-ink)}
.lmi-global-filter input,.lmi-global-filter select{width:100%;min-height:46px;padding:.65rem .75rem}
.lmi-filter-check{display:flex!important;align-items:center;gap:.5rem;min-height:46px;padding:.6rem .75rem;border:1px solid var(--lm-line);background:#fafafa}
.lmi-filter-check input{width:18px!important;min-height:18px!important;margin:0}
.lmi-global-filter .lmi-button{min-height:46px}
.lmi-filter-reset{align-self:center;color:var(--lm-red);font-weight:900}
.lmi-results-head{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0}
.lmi-results-head p{margin:0;color:var(--lm-muted)}
.lmi-product-card__body{display:flex;flex-direction:column;flex:1;padding:0 1rem 1rem}
.lmi-product-card h3,.lmi-product-card>p,.lmi-card-actions{margin-left:0!important;margin-right:0!important}
.lmi-product-card__media{display:block;background:#f4f4f4;overflow:hidden}
.lmi-product-card__media img{width:100%;transition:transform .2s ease}
.lmi-product-card:hover .lmi-product-card__media img{transform:scale(1.025)}
.lmi-product-card h3 a,.lmi-store-name a{text-decoration:none;color:inherit}
.lmi-store-name a:hover,.lmi-product-card h3 a:hover{color:var(--lm-red)}
.lmi-stock{display:inline-flex;align-self:flex-start;margin:.1rem 0 .8rem!important;padding:.25rem .45rem;font-size:.78rem;font-weight:850;background:#eee}
.lmi-stock.is-available{background:#e8f6e9;color:#176221}
.lmi-stock.is-unavailable{background:#f3f3f3;color:#666}
.lmi-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:auto}
.lmi-card-actions .lmi-quick-cart{margin:0}
.lmi-card-actions .lmi-button{display:flex!important;width:100%;min-height:43px;align-items:center;justify-content:center;text-align:center;padding:.65rem .7rem!important}
.lmi-store-link{grid-column:1/-1;text-align:center;color:var(--lm-red);font-size:.88rem;font-weight:900}
.lmi-no-results{grid-column:1/-1;padding:2rem;text-align:center;background:#fff;border:1px solid var(--lm-line);border-top:5px solid var(--lm-gold)}
.lmi-pagination{margin:1.5rem 0}
.lmi-pagination ul{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0;margin:0}
.lmi-pagination a,.lmi-pagination span{display:block;padding:.6rem .8rem;border:1px solid var(--lm-line);background:#fff;text-decoration:none;font-weight:850}
.lmi-pagination .current{background:var(--lm-red);border-color:var(--lm-red);color:#fff}

.lmi-empty-cart{padding:clamp(2rem,6vw,5rem);text-align:center;background:#fff;border:1px solid var(--lm-line);border-top:7px solid var(--lm-gold)}
.lmi-empty-cart h1{font-size:clamp(2rem,5vw,4rem);margin:.2rem 0 .8rem}
.lmi-cart-form{margin:0}
.lmi-cart-store{margin-top:1rem;padding:0!important}
.lmi-cart-store__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--lm-line);background:#fff}
.lmi-cart-store__header h2{margin:.1rem 0 0!important;padding:0!important;border:0!important;font-size:1.35rem}
.lmi-cart-store__header h2 a{text-decoration:none;color:var(--lm-ink)}
.lmi-text-link,.lmi-remove-link{color:var(--lm-red);font-weight:900}
.lmi-cart-lines{display:grid}
.lmi-cart-line{display:grid;grid-template-columns:90px minmax(180px,1fr) 110px 130px;align-items:center;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--lm-line)}
.lmi-cart-line__image{display:block;background:#f2f2f2}
.lmi-cart-line__image img{display:block;width:90px;height:90px;object-fit:cover}
.lmi-cart-line__main h3{margin:0 0 .35rem;font-size:1.05rem}
.lmi-cart-line__main h3 a{text-decoration:none;color:var(--lm-ink)}
.lmi-cart-line__main p{margin:.2rem 0;color:var(--lm-muted)}
.lmi-cart-line__qty{display:grid;gap:.3rem;font-size:.78rem;font-weight:900}
.lmi-cart-line__qty input{width:86px;min-height:43px;padding:.5rem;border:1px solid #aaa}
.lmi-cart-line__total{display:grid;gap:.2rem;text-align:right;margin:0}
.lmi-cart-line__total span{font-size:.78rem;color:var(--lm-muted)}
.lmi-cart-line__total strong{font-size:1.15rem;color:var(--lm-red)}
.lmi-cart-store__footer{display:flex;justify-content:flex-end;gap:1rem;padding:1rem 1.2rem;background:var(--lm-gold-soft);font-size:1.05rem}
.lmi-cart-store__footer strong{color:var(--lm-red)}
.lmi-cart-summary{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1rem;padding:1.2rem;background:#202020;color:#fff;border-bottom:6px solid var(--lm-gold)}
.lmi-cart-summary>div:first-child{display:grid;gap:.15rem}
.lmi-cart-summary strong{font-size:1.8rem}
.lmi-cart-summary small{color:#ccc}
.lmi-cart-summary__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}
.lmi-clear-cart-form{text-align:right;margin:.7rem 0}
.lmi-clear-cart-form button{border:0;background:transparent;color:var(--lm-red);text-decoration:underline;font-weight:850;cursor:pointer}

.lmi-checkout-store{margin-top:1rem;padding:1.2rem;border:1px solid var(--lm-line);border-top:5px solid var(--lm-gold);background:#fff}
.lmi-checkout-store>header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--lm-line)}
.lmi-checkout-store>header h2{margin:.1rem 0 0}
.lmi-checkout-store>header>strong{font-size:1.5rem;color:var(--lm-red)}
.lmi-checkout-store form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}
.lmi-checkout-store form p{margin:0}
.lmi-checkout-store label{display:grid;gap:.35rem}
.lmi-checkout-store input,.lmi-checkout-store select{width:100%;min-height:46px;padding:.65rem .75rem}
.lmi-checkout-store button,.lmi-checkout-store .notice-box{grid-column:1/-1}

@media(max-width:1050px){
  .lmi-global-filter{grid-template-columns:1fr 1fr}
  .lmi-filter-search{grid-column:1/-1}
}
@media(max-width:760px){
  .lmi-commerce-header,.lmi-global-shop__hero{display:block;background:#fff}
  .lmi-global-shop__hero dl{margin-top:1rem}
  .lmi-global-shop__hero dl div{flex:1;min-width:0}
  .lmi-global-filter{grid-template-columns:1fr}
  .lmi-filter-search{grid-column:auto}
  .lmi-card-actions{grid-template-columns:1fr}
  .lmi-store-link{grid-column:auto}
  .lmi-cart-store__header{align-items:flex-start}
  .lmi-cart-line{grid-template-columns:72px 1fr;gap:.75rem}
  .lmi-cart-line__image img{width:72px;height:72px}
  .lmi-cart-line__qty{grid-column:2}
  .lmi-cart-line__total{grid-column:2;text-align:left;display:flex;justify-content:space-between}
  .lmi-cart-summary{display:block}
  .lmi-cart-summary__actions{display:grid;justify-content:stretch;margin-top:1rem}
  .lmi-cart-summary__actions .lmi-button{width:100%;text-align:center}
  .lmi-checkout-store form{grid-template-columns:1fr}
  .lmi-checkout-store button,.lmi-checkout-store .notice-box{grid-column:auto}
}

/* =========================================================
   Latina Mercato 0.4.0 — revisione completa delle aree LMI
   ========================================================= */
:root{
  --lm-shadow-sm:0 2px 10px rgba(25,25,25,.06);
  --lm-shadow-md:0 12px 32px rgba(25,25,25,.09);
  --lm-focus:0 0 0 3px rgba(216,154,22,.35);
}

:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--lm-gold);
  outline-offset:2px;
  box-shadow:var(--lm-focus);
}

.content-card--commerce{padding:0;border:0;background:transparent}
.content-card--commerce>.entry-content{margin:0}
.lm-store-wrap,.lm-product-wrap{background:transparent}

/* Negozio globale */
.lmi-global-shop{display:grid;gap:1.25rem}
.lmi-global-shop__hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:end;
  padding:clamp(1.4rem,4vw,3rem);
  color:#fff;
  background:linear-gradient(120deg,var(--lm-red),var(--lm-red-dark));
  border-bottom:7px solid var(--lm-gold);
  box-shadow:var(--lm-shadow-md);
}
.lmi-global-shop__hero h1{margin:.1rem 0 .6rem;font-size:clamp(2.2rem,6vw,4.7rem);line-height:.96;letter-spacing:-.045em}
.lmi-global-shop__hero p{max-width:760px;margin:0;color:#fff;font-size:1.05rem}
.lmi-global-shop__hero .lmi-kicker{color:#ffe29a}
.lmi-global-shop__hero dl{display:flex;gap:.75rem;margin:0}
.lmi-global-shop__hero dl>div{min-width:112px;padding:.9rem 1rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28)}
.lmi-global-shop__hero dt{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#ffe29a}
.lmi-global-shop__hero dd{margin:.15rem 0 0;font-size:1.8rem;line-height:1;font-weight:900}

.lmi-global-filter{
  display:grid!important;
  grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;
  gap:.75rem!important;
  align-items:end;
  margin:0!important;
  padding:1rem!important;
  background:#fff!important;
  border:1px solid var(--lm-line)!important;
  border-top:4px solid var(--lm-gold)!important;
  box-shadow:var(--lm-shadow-sm);
}
.lmi-global-filter label{display:grid;gap:.35rem;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#4e4e4e}
.lmi-global-filter input,.lmi-global-filter select{width:100%;min-height:46px;padding:.65rem .75rem}
.lmi-filter-check{display:flex!important;align-items:center;gap:.55rem;min-height:46px;padding:.5rem .65rem;background:var(--lm-gold-soft);border:1px solid #e4c76e;text-transform:none!important;letter-spacing:0!important}
.lmi-filter-check input{width:auto!important;min-height:auto!important;accent-color:var(--lm-red)}
.lmi-filter-reset{align-self:center;font-weight:800;white-space:nowrap}
.lmi-results-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 0}
.lmi-results-head p{margin:0;color:var(--lm-muted)}

.lmi-product-card__media{display:block;overflow:hidden;background:#eee}
.lmi-product-card__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}
.lmi-product-card:hover .lmi-product-card__media img{transform:scale(1.025)}
.lmi-product-card__body{display:flex;flex:1;flex-direction:column;padding:1rem}
.lmi-product-card__body h3,.lmi-product-card__body p,.lmi-product-card__body .lmi-card-actions{margin-left:0!important;margin-right:0!important}
.lmi-product-card__body h3{margin:.25rem 0 .55rem!important}
.lmi-product-card__body h3 a{color:var(--lm-ink);text-decoration:none}
.lmi-product-card__body h3 a:hover{color:var(--lm-red)}
.lmi-product-card__body .lmi-store-name{margin:0!important;font-size:.82rem;text-transform:uppercase;letter-spacing:.035em;font-weight:800}
.lmi-product-card__body .lmi-store-name a{color:var(--lm-muted);text-decoration:none}
.lmi-product-card__body .lmi-price{margin:.55rem 0 .35rem!important}
.lmi-price del{color:#777;font-size:.75em;font-weight:500}
.lmi-price strong{color:var(--lm-red)}
.lmi-stock{display:inline-flex;align-items:center;gap:.4rem;margin:.1rem 0 .85rem!important;font-size:.83rem;font-weight:800}
.lmi-stock:before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:#777}
.lmi-stock.is-available{color:#23722d}.lmi-stock.is-available:before{background:#2d8c38}
.lmi-stock.is-unavailable{color:#765c1c}.lmi-stock.is-unavailable:before{background:var(--lm-gold)}
.lmi-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:auto!important;padding:0!important}
.lmi-card-actions .lmi-quick-cart{margin:0}.lmi-card-actions .lmi-button{width:100%;min-height:43px;padding:.6rem .75rem;text-align:center}
.lmi-store-link{grid-column:1/-1;text-align:center;font-size:.85rem;font-weight:800;text-decoration:none;padding-top:.25rem}
.lmi-no-results,.lmi-empty-cart{padding:clamp(1.5rem,5vw,4rem);background:#fff;border:1px solid var(--lm-line);border-left:7px solid var(--lm-gold);text-align:left}
.lmi-no-results h2,.lmi-empty-cart h1{margin:.2rem 0 .5rem;line-height:1.1}
.lmi-pagination{display:flex;justify-content:center;margin-top:.5rem}
.lmi-pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;min-height:42px;margin:.2rem;border:1px solid var(--lm-line);background:#fff;text-decoration:none;font-weight:800}
.lmi-pagination .current{background:var(--lm-red);border-color:var(--lm-red);color:#fff}

/* Archivio negozi */
.post-type-archive-lmi_store .post-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.post-type-archive-lmi_store .post-card{display:flex;flex-direction:column;padding:0;overflow:hidden;box-shadow:var(--lm-shadow-sm);transition:.18s ease}
.post-type-archive-lmi_store .post-card:hover{transform:translateY(-2px);box-shadow:var(--lm-shadow-md)}
.post-type-archive-lmi_store .post-card>a:first-child{display:block;background:#eee;overflow:hidden}
.post-type-archive-lmi_store .post-card>a:first-child img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.post-type-archive-lmi_store .post-card h2,.post-type-archive-lmi_store .post-card .entry-summary,.post-type-archive-lmi_store .post-card>p{margin-left:1rem;margin-right:1rem}
.post-type-archive-lmi_store .post-card h2{margin-top:1rem}
.post-type-archive-lmi_store .post-card>p{margin-top:auto;padding-bottom:1rem}

/* Minisito negozio */
.lmi-store-site{box-shadow:var(--lm-shadow-sm)}
.lmi-store-hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(360px,42%);align-items:stretch}
.lmi-store-hero>img{grid-column:2;grid-row:1;width:100%}
.lmi-store-hero>div{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#fff 0%,#fff9e9 100%)}
.lmi-store-hero>div p:last-child{max-width:720px;color:var(--lm-muted);font-size:1.05rem}
.lmi-store-nav{display:flex;flex-wrap:wrap;justify-content:center;box-shadow:0 8px 18px rgba(0,0,0,.05)}
.lmi-store-nav a{text-decoration:none;font-weight:900}
.lmi-store-body{font-size:1.03rem}
.lmi-store-site address{font-style:normal;font-weight:800}
.lmi-store-site section:empty{display:none}

/* Pagina prodotto */
.lmi-product-page{display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(320px,.85fr);gap:clamp(1.2rem,4vw,3rem)!important;box-shadow:var(--lm-shadow-sm)}
.lmi-product-info{position:sticky;top:1rem}
.lmi-product-info>.lmi-kicker a{text-decoration:none}
.lmi-product-info>p:not(.lmi-kicker):not(.lmi-price){color:var(--lm-muted)}
.lmi-product-info form{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:1.2rem}
.lmi-product-info form label{display:grid;gap:.3rem;font-weight:900}

/* Carrello */
.lmi-commerce-header{padding:clamp(1.25rem,4vw,2.5rem);margin-bottom:1rem;background:#fff;border:1px solid var(--lm-line);border-top:5px solid var(--lm-red);box-shadow:var(--lm-shadow-sm)}
.lmi-commerce-header h1{margin:.1rem 0 .45rem;font-size:clamp(2rem,5vw,3.6rem);line-height:1}
.lmi-commerce-header p:last-child{max-width:790px;margin-bottom:0;color:var(--lm-muted)}
.lmi-cart-form{display:grid;gap:1rem}
.lmi-cart-store{padding:0!important;overflow:hidden;box-shadow:var(--lm-shadow-sm)}
.lmi-cart-store__header{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:1rem 1.15rem;background:#fafafa;border-bottom:1px solid var(--lm-line)}
.lmi-cart-store__header h2{margin:.1rem 0 0;border:0;padding:0}.lmi-cart-store__header h2 a{color:var(--lm-ink);text-decoration:none}
.lmi-text-link{font-weight:800;white-space:nowrap}
.lmi-cart-lines{display:grid}
.lmi-cart-line{display:grid;grid-template-columns:88px minmax(0,1fr) 110px 130px;gap:1rem;align-items:center;padding:1rem 1.15rem;border-bottom:1px solid var(--lm-line)}
.lmi-cart-line:last-child{border-bottom:0}
.lmi-cart-line__image{display:block;background:#eee}.lmi-cart-line__image img{display:block;width:88px;height:88px;object-fit:cover}
.lmi-cart-line__main h3{margin:0 0 .25rem;font-size:1.05rem;line-height:1.25}.lmi-cart-line__main h3 a{color:var(--lm-ink);text-decoration:none}
.lmi-cart-line__main p{margin:.2rem 0;color:var(--lm-muted)}
.lmi-remove-link{font-size:.82rem;font-weight:800}
.lmi-cart-line__qty{display:grid;gap:.25rem;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.lmi-cart-line__qty input{width:100%;min-height:42px;padding:.45rem;border:1px solid #aaa;text-align:center}
.lmi-cart-line__total{display:grid;gap:.15rem;margin:0;text-align:right}.lmi-cart-line__total span{font-size:.75rem;color:var(--lm-muted);text-transform:uppercase;font-weight:800}.lmi-cart-line__total strong{font-size:1.2rem;color:var(--lm-red)}
.lmi-cart-store__footer{display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:.85rem 1.15rem;background:var(--lm-gold-soft);border-top:1px solid #ead393;font-weight:800}.lmi-cart-store__footer strong{font-size:1.25rem;color:var(--lm-red)}
.lmi-cart-summary{position:sticky;bottom:.75rem;z-index:15;display:grid;grid-template-columns:minmax(220px,.65fr) 1fr;gap:1rem;align-items:center;padding:1rem 1.15rem;background:#202020;color:#fff;border-bottom:5px solid var(--lm-gold);box-shadow:var(--lm-shadow-md)}
.lmi-cart-summary>div:first-child{display:grid}.lmi-cart-summary>div:first-child>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#ddd;font-weight:800}.lmi-cart-summary>div:first-child>strong{font-size:1.8rem;line-height:1.1}.lmi-cart-summary small{color:#bbb}
.lmi-cart-summary__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.lmi-cart-summary__actions .lmi-button{min-height:44px;padding:.65rem .9rem}
.lmi-clear-cart-form{text-align:right;margin-top:.65rem}.lmi-clear-cart-form button{border:0;background:none;color:var(--lm-red);font-weight:800;text-decoration:underline;cursor:pointer}

/* Checkout */
.lmi-checkout{display:grid;gap:1rem;padding:0!important;border:0!important;background:transparent!important}
.lmi-checkout-store{padding:1.15rem;background:#fff;border:1px solid var(--lm-line);border-left:6px solid var(--lm-gold);box-shadow:var(--lm-shadow-sm)}
.lmi-checkout-store>header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.8rem;margin-bottom:1rem;border-bottom:1px solid var(--lm-line)}
.lmi-checkout-store h2{margin:.1rem 0 0}.lmi-checkout-store>header>strong{font-size:1.45rem;color:var(--lm-red);white-space:nowrap}
.lmi-checkout-store form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem}
.lmi-checkout-store form p{margin:0}.lmi-checkout-store form label{display:grid;gap:.3rem;font-weight:800}.lmi-checkout-store form input,.lmi-checkout-store form textarea,.lmi-checkout-store form select{width:100%;min-height:44px;padding:.65rem;border:1px solid #aaa}
.lmi-checkout-store form textarea{min-height:100px}.lmi-checkout-store form .lmi-button{justify-self:start;grid-column:1/-1;min-height:46px;padding:.7rem 1rem}

/* Messaggi, stati e pagamenti */
.lmi-payment-status{display:grid;grid-template-columns:minmax(180px,.7fr) 1fr;margin:1rem 0;border:1px solid var(--lm-line)}
.lmi-payment-status dt,.lmi-payment-status dd{margin:0;padding:.75rem .9rem;border-bottom:1px solid var(--lm-line)}
.lmi-payment-status dt{background:#f7f7f7;font-weight:900}.lmi-payment-status dd{font-weight:700}.lmi-payment-status dt:last-of-type,.lmi-payment-status dd:last-of-type{border-bottom:0}
.entry-content>.notice,.entry-content>.woocommerce-message,.entry-content>[class*="notice-"]{padding:1rem;border:1px solid var(--lm-line);border-left:5px solid var(--lm-gold);background:#fff}

@media(max-width:1050px){
  .lmi-global-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.lmi-filter-search{grid-column:1/-1}.lmi-global-filter .lmi-button{min-height:46px}
  .lmi-cart-summary{grid-template-columns:1fr}.lmi-cart-summary__actions{justify-content:flex-start}
}
@media(max-width:850px){
  .lmi-global-shop__hero{grid-template-columns:1fr;align-items:start}.lmi-global-shop__hero dl{justify-content:flex-start}
  .lmi-store-hero{grid-template-columns:1fr}.lmi-store-hero>img{grid-column:1;grid-row:1;min-height:250px!important}.lmi-store-hero>div{grid-column:1;grid-row:2}
  .lmi-product-page{grid-template-columns:1fr}.lmi-product-info{position:static}
  .lmi-cart-line{grid-template-columns:72px minmax(0,1fr) 90px 110px}.lmi-cart-line__image img{width:72px;height:72px}
}
@media(max-width:700px){
  .lmi-global-filter{grid-template-columns:1fr}.lmi-filter-search{grid-column:auto}.lmi-filter-reset{justify-self:start}
  .lmi-global-shop__hero dl{width:100%}.lmi-global-shop__hero dl>div{flex:1;min-width:0}
  .lmi-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.65rem!important}
  .lmi-product-card__body{padding:.8rem}.lmi-product-card__body h3{font-size:1rem!important}.lmi-card-actions{grid-template-columns:1fr}.lmi-store-link{grid-column:auto}
  .lmi-cart-line{grid-template-columns:68px minmax(0,1fr);align-items:start}.lmi-cart-line__image img{width:68px;height:68px}.lmi-cart-line__qty{grid-column:1/2}.lmi-cart-line__total{grid-column:2/3;text-align:left;align-self:end}.lmi-cart-line__qty input{width:68px}.lmi-cart-store__header{align-items:flex-start;flex-direction:column}.lmi-cart-store__footer{justify-content:space-between}
  .lmi-cart-summary{position:static}.lmi-cart-summary__actions{display:grid;grid-template-columns:1fr}.lmi-cart-summary__actions .lmi-button{width:100%;text-align:center}
  .lmi-checkout-store form{grid-template-columns:1fr}.lmi-checkout-store form .lmi-button{grid-column:auto;width:100%}
}
@media(max-width:480px){
  .lmi-global-shop__hero{padding:1.25rem}.lmi-global-shop__hero h1{font-size:2.25rem}.lmi-global-shop__hero dl{gap:.4rem}.lmi-global-shop__hero dl>div{padding:.7rem}.lmi-global-shop__hero dd{font-size:1.45rem}
  .lmi-product-grid{grid-template-columns:1fr!important}.lmi-product-card__media img{aspect-ratio:16/10}
  .lmi-cart-line{padding:.85rem}.lmi-cart-store__header,.lmi-cart-store__footer{padding:.85rem}
  .lmi-payment-status{grid-template-columns:1fr}.lmi-payment-status dt{border-bottom:0}.lmi-payment-status dd{padding-top:.2rem}
}
@media(prefers-reduced-motion:reduce){.lmi-product-card,.lmi-product-card__media img{transition:none}.lmi-product-card:hover{transform:none}.lmi-product-card:hover .lmi-product-card__media img{transform:none}}


/* 0.4.2 — una sola hero per pagina */
.content-card--hero-owned{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.content-card--hero-owned>.entry-content{
  margin:0;
}
.content-card--hero-owned .lmi-global-shop,
.content-card--hero-owned .lmi-cart,
.content-card--hero-owned .lmi-checkout{
  margin-top:0;
}
