/* Native touch browsing for curated selections; the full shop stays a vertical grid. */
.ps-hero .lp-hero-product{background:#f3f1ed;display:flex;flex-direction:column;align-items:stretch;border-radius:22px;padding:28px;min-height:0;aspect-ratio:auto}
.lp-hero-photo{display:flex;align-items:center;justify-content:center;min-height:280px;height:340px;background:#fff;border-radius:16px;overflow:hidden}
.ps-hero-scene.lp-hero-product .lp-hero-photo img{position:static;width:100%;height:100%;object-fit:contain;transform:none;mix-blend-mode:multiply;padding:22px}
.lp-hero-caption{padding:18px 4px 0;color:#172c33}.lp-hero-caption>span{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#52666b}.lp-hero-caption h2{font-size:25px;line-height:1.3;margin:8px 0}.lp-hero-caption a{color:inherit}.lp-hero-caption>div{font-size:24px;font-weight:700}.lp-hero-caption del{font-size:16px;color:#637174;margin-right:10px}.lp-hero-caption ins{background:transparent;text-decoration:none}
.puliziasmart .lp-product-rail{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:1px;padding:2px 1px 18px;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#a6b9bd transparent;max-width:100%}
.puliziasmart .lp-product-rail .woocommerce{width:100%}.puliziasmart .lp-product-rail ul.products{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:calc((100% - 40px)/3)!important;grid-template-columns:none!important;gap:20px!important;margin:0!important;padding:0!important;width:100%}
.puliziasmart .lp-product-rail ul.products:before,.puliziasmart .lp-product-rail ul.products:after{display:none!important}
.puliziasmart .lp-product-rail ul.products li.ps-product-card:nth-child(n){display:flex!important;flex-direction:column!important;scroll-snap-align:start;width:auto!important;max-width:none;min-width:0;margin:0!important;float:none;background:#fff!important;border:1px solid #e4e8e7!important;border-radius:16px!important;overflow:hidden;transform:none!important;padding:0!important}
.puliziasmart .lp-product-rail .ps-card-image{width:100%!important;height:250px!important;padding:22px!important;aspect-ratio:auto;display:flex!important;align-items:center;justify-content:center;background:#fff;box-sizing:border-box}
.puliziasmart .lp-product-rail .ps-card-image img{width:100%!important;height:100%!important;object-fit:contain!important}
.puliziasmart .lp-product-rail .ps-card-body{display:flex!important;flex-direction:column!important;padding:20px!important;flex:1;min-width:0}
.puliziasmart .lp-product-rail .ps-card-body h2,.puliziasmart .lp-product-rail .ps-card-body h2 a{font-size:18px!important;line-height:1.45!important;letter-spacing:-.02em!important;display:block!important;min-height:0!important;max-height:none!important;color:#172c33!important}
.puliziasmart .lp-product-rail .ps-card-body h2{margin:8px 0 18px!important;flex:1;overflow:visible!important}
.puliziasmart .lp-product-rail .ps-card-price{margin:0 0 18px!important;font-size:23px!important}.puliziasmart .lp-product-rail .ps-card-price del{font-size:14px!important}.puliziasmart .lp-product-rail .ps-card-price ins{font-size:24px!important}
.puliziasmart .lp-product-rail .ps-card-actions{display:flex!important;flex-direction:column!important;gap:12px;margin:0!important}.puliziasmart .lp-product-rail .ps-card-detail{display:block!important;font-size:14px!important}.puliziasmart .lp-product-rail .ps-add-button{display:flex!important;justify-content:center;width:100%;min-height:46px!important;font-size:14px!important;box-sizing:border-box;padding:12px!important}
.lp-packs{background:#f6f3ee}.lp-pack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.lp-pack-card{display:flex;flex-direction:column;background:white;padding:24px;border:1px solid #e5e4df;border-radius:18px;min-width:0}.lp-pack-link{color:#172c33}.lp-pack-card h3{font-size:24px;line-height:1.3;margin:12px 0}.lp-pack-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#53666b}.lp-pack-card>p{font-size:15px;line-height:1.7;margin:0 0 24px;color:#53666b;flex:1}.lp-pack-bottom{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between}.lp-pack-bottom strong{font-size:25px}.lp-pack-bottom .ps-button{font-size:14px;padding:12px 16px}.lp-pack-visual{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;gap:8px;width:100%;height:210px;background:white}.lp-pack-visual img{width:100%;height:100%;object-fit:contain;min-width:0;max-height:100%}.ps-gallery>.lp-pack-visual{height:380px;border:1px solid #e5e8e6;border-radius:18px;padding:24px;box-sizing:border-box;margin-bottom:20px}.ps-gallery>.lp-pack-visual+.ps-gallery-main{display:none}.ps-card-image .lp-pack-visual{height:100%}.lp-related{padding-bottom:40px}.lp-product-rail:focus-visible{outline:2px solid #183c46;outline-offset:4px}
.woosb-wrap .woosb-products{border:0!important}.woosb-wrap .woosb-product{padding:12px 0!important;border-bottom:1px solid #d7dedd!important;gap:10px}.woosb-wrap .woosb-name{font-size:14px!important;line-height:1.5}.woosb-wrap .woosb-title a{color:#183c46!important}.woosb-wrap .woosb-thumb img{width:56px!important;height:64px;object-fit:contain}.woosb-wrap .woosb-quantity input{width:48px!important}.woosb-wrap .woosb-price{font-size:16px}.woosb-wrap{margin-bottom:20px}
@media(max-width:900px){.lp-pack-grid{gap:16px}.lp-pack-card{padding:18px}.lp-pack-card h3{font-size:21px}.lp-pack-visual{height:180px}.puliziasmart .lp-product-rail ul.products{grid-auto-columns:calc((100% - 18px)/2)!important;gap:18px!important}}
@media(max-width:700px){.ps-hero .lp-hero-product{padding:16px;border-radius:16px}.lp-hero-photo{min-height:210px;height:240px}.lp-hero-caption h2{font-size:22px}.lp-hero-caption{padding:14px 4px 2px}.puliziasmart .lp-product-rail ul.products{grid-auto-columns:84%!important;gap:14px!important}.puliziasmart .lp-product-rail .ps-card-image{height:240px!important}.puliziasmart .lp-product-rail .ps-card-body h2,.puliziasmart .lp-product-rail .ps-card-body h2 a{font-size:18px!important}.lp-pack-grid{grid-template-columns:1fr;gap:18px}.lp-pack-card{padding:22px}.lp-pack-visual{height:200px}.lp-pack-card h3{font-size:24px}.ps-gallery>.lp-pack-visual{height:240px;padding:14px}.lp-related .ps-section-top{align-items:flex-start;gap:12px}.lp-related h2{font-size:26px}.lp-related .ps-text-link{font-size:14px}.lp-packs .ps-section-top p{font-size:16px}.ps-product-page .lp-related{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.lp-product-rail{scroll-behavior:auto}}

/* Accueil et navigation Limpora */
.ps-hero .lp-home-scene {
    position: relative;
    width: 100%;
    min-width: 0;
    align-self: center;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: clamp(12px, 2vw, 24px);
    background: #e2d9cc;
}
.ps-hero .lp-home-scene img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
@media (prefers-reduced-motion: no-preference) {
    .lp-home-scene img { animation: lp-scene-arrival 4s ease-out both; }
    @keyframes lp-scene-arrival { from { transform: scale(1.045); } to { transform: scale(1); } }
}
.ps-hero .ps-lead, .ps-hero .ps-hero-note { color: #465a60; }
.lp-mobile-menu { display: none; }
.lp-mobile-menu > summary::-webkit-details-marker { display: none; }
@media (max-width: 1050px) {
    header.ps-header-clean { position: relative; z-index: 115; overflow: visible; }
    .ps-header-clean .ps-header-row { position: static; overflow: visible; }
    .ps-header-clean .ps-header-tools { position: static; flex-shrink: 0; }
    .ps-header-clean .ps-logo { min-width: 0; }
    .ps-header-clean .ps-logo img { max-width: 100%; }
    .ps-header-clean .lp-mobile-menu { position: static; display: block; }
    .lp-mobile-menu > summary {
        list-style: none; display: grid; place-items: center; box-sizing: border-box;
        width: 44px; height: 44px; padding: 0; cursor: pointer; border-radius: 8px;
        background: #fff; color: #1e4149; border: 1px solid #bccbcb;
    }
    .lp-mobile-menu > summary svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
    .lp-mobile-menu .lp-menu-close, .lp-mobile-menu[open] .lp-menu-open { display: none; }
    .lp-mobile-menu[open] .lp-menu-close { display: block; }
    .lp-mobile-menu[open] > summary { background: #e8f1ef; }
    .lp-mobile-menu:not([open]) > nav { display: none; }
    .lp-mobile-menu[open] > nav {
        position: absolute; inset: 100% 0 auto; z-index: 2;
        display: flex; flex-flow: column nowrap; gap: 0; box-sizing: border-box;
        margin: 0; width: 100%; min-width: 0;
        max-height: 65vh; max-height: min(66dvh, 32rem); overflow-y: auto; overscroll-behavior: contain;
        padding: 8px max(16px, calc((100vw - 960px) / 2)) 16px;
        background: #fff; color: #193b43; border-bottom: 1px solid #c4d3d1;
        box-shadow: 0 12px 22px rgb(25 59 67 / 16%);
    }
    .lp-mobile-menu nav a {
        display: flex; align-items: center; justify-content: space-between; flex: none;
        box-sizing: border-box; min-height: 44px; padding: 10px 12px; margin: 0;
        background: #fff; color: #193b43; font: inherit; font-size: 16px; line-height: 1.4;
        border-bottom: 1px solid #e1e9e8; text-decoration: none;
    }
    .lp-mobile-menu nav a:hover, .lp-mobile-menu nav a:focus-visible { background: #e8f1ef; }
    .lp-mobile-menu .ps-menu-label { padding: 14px 12px 4px; color: #425b60; font-size: 13px; font-weight: 700; }
    .lp-mobile-menu summary:focus-visible, .lp-mobile-menu nav a:focus-visible { outline: 2px solid #126370; outline-offset: -2px; }
}
@media (max-width: 700px) {
    .ps-header-clean .ps-header-row { justify-content: space-between; gap: 8px; }
    .ps-header-clean .ps-logo img { width: min(38vw, 185px); }
}
.lp-pack-gallery { width: 100%; min-width: 0; }
.lp-pack-stage, .lp-pack-thumbs button { box-sizing: border-box; background: #fff; border: 1px solid #d7dfdd; color: #193840; padding: 0; }
.lp-pack-stage { display: block; position: relative; width: 100%; height: clamp(260px, 34vw, 420px); border-radius: 18px; overflow: hidden; cursor: zoom-in; }
.lp-pack-slide { display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; padding: 14px; box-sizing: border-box; }
.lp-pack-slide[hidden] { display: none !important; }
.lp-pack-slide > img, .lp-pack-thumbs button > img { width: 100%; height: 100%; object-fit: contain; }
.lp-pack-slide .lp-pack-visual, .lp-pack-thumbs .lp-pack-visual { height: 100%; width: 100%; padding: 0; }
.lp-pack-visual img { min-height: 0; }
.lp-pack-zoom { position: absolute; right: 10px; bottom: 10px; padding: 3px 8px; border-radius: 6px; background: #fff; color: #193840; }
.lp-pack-thumbs { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 4px; }
.lp-pack-thumbs button { height: 60px; width: 68px; border-radius: 7px; padding: 4px; cursor: pointer; }
.lp-pack-thumbs button[aria-pressed="true"] { outline: 2px solid #24515a; outline-offset: -2px; }
.lp-pack-caption { font-size: 14px; color: #42595e; margin: 6px 0 15px; }
.lp-pack-dialog { box-sizing: border-box; width: min(840px, 94vw); max-width: 94vw; max-height: 94vh; margin: auto; border: 0; border-radius: 14px; padding: 16px; background: #fff; color: #193840; }
.lp-pack-dialog:not([open]) { display: none; }
.lp-pack-dialog::backdrop { background: rgba(12, 30, 34, .76); }
.lp-pack-dialog button { background: #193e46; color: #fff; border: 0; padding: 8px 14px; border-radius: 7px; min-height: 44px; cursor: pointer; }
.lp-pack-close { display: block; margin-left: auto; }
.lp-pack-lightbox { height: min(54vh, 520px); }
.lp-pack-controls { display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.lp-pack-controls span { font-size: 14px; text-align: center; }
.lp-pack-gallery button:focus-visible { outline: 3px solid #0c6775; outline-offset: 2px; }
@media (max-width: 700px) {
    .lp-pack-stage { height: clamp(215px, 60vw, 290px); }
    .lp-pack-thumbs button { width: 58px; height: 52px; }
}
