/* ---------- Product cards + grids ---------- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.cat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cat-tiles>:first-child{grid-column:span 2}
.cat-tiles>:first-child .pimg{aspect-ratio:2.08/1}
.pcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);transition:transform .35s var(--ease),box-shadow .35s;transform-style:preserve-3d}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--sh-lift)}
.pcard .pimg{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,#FFF8F0,#D3FFEE);overflow:hidden;display:block}
.pcard .pimg img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);transition:transform .6s var(--ease)}
.pcard:hover .pimg img{transform:scale(1.2) rotate(-1.5deg)}
.pcard .pbody{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard .pcat{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.pcard h3,.pcard h4.ptitle{font-family:var(--font-body);font-weight:800;font-size:1rem;line-height:1.3;margin:0;letter-spacing:-.01em}
.pcard h3 a,.pcard h4 a{color:var(--ink)}
.pcard h3 a:hover,.pcard h4 a:hover{color:var(--primary)}
.price{display:flex;align-items:baseline;gap:8px;font-weight:800;font-size:1.1rem;color:var(--ink)}
.price del{color:var(--muted-2);font-weight:600;font-size:.9rem}
.price .sale{color:var(--berry)}
.pcard .pfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px}
.mini-add{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--r-pill);background:var(--ink);color:#fff;font-weight:800;font-size:.86rem;border:0;transition:.25s var(--ease-pop);white-space:nowrap}
.mini-add:hover{background:var(--primary);transform:translateY(-2px)}
.mini-add svg{width:16px;height:16px;max-width:none;flex:none}
.mini-add.added{background:var(--teal)}
.pcard .quick{position:absolute;right:12px;bottom:12px}

/* ---------- Draggable carousel ---------- */
.carousel{position:relative}
.carousel-track{display:flex;gap:clamp(16px,1.8vw,22px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;cursor:grab;user-select:none;padding:6px 2px 18px;scrollbar-width:none;overscroll-behavior-x:contain}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.carousel-track a,.carousel-track img{-webkit-user-drag:none;user-drag:none}
.carousel-track .pcard{scroll-snap-align:start;flex:0 0 auto;width:clamp(240px,24vw,290px)}

/* ---------- Split / about / stats ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split.rev>.media{order:2}
.split>.media{position:relative}
.media-frame{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lift);aspect-ratio:4/3.4}
.media-frame img{width:100%;height:100%;object-fit:cover}
.media-frame::after{content:"";position:absolute;inset:0;border-radius:inherit;border:6px solid #fff;pointer-events:none}
.media-frame.outline{outline:3px solid var(--primary);outline-offset:6px}
.media-peek{position:absolute;right:2%;bottom:-5%;width:34%;z-index:2;filter:drop-shadow(0 20px 30px rgba(23,38,30,.3))}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh-card)}
.stat b{display:block;font-family:var(--font-display);font-size:2.2rem;line-height:1;color:var(--primary);margin-bottom:6px}
.stat>span{font-size:.82rem;font-weight:700;color:var(--muted)}
.prose{max-width:70ch}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin-top:1.6em}
.prose h3{margin-top:1.4em}
.prose h4{margin-top:1.2em}
.prose p,.prose li{font-size:1.04rem;line-height:1.7;color:#17261E}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.4em}
.prose img{border-radius:var(--r-lg);margin:1.4em 0;box-shadow:var(--sh-card);width:auto;max-width:100%;height:auto}
.prose img.img-wide{width:100%;max-height:640px;object-fit:cover}
.prose img.img-mid{width:min(100%,440px)}
.prose img.img-icon{width:64px;height:64px;border-radius:14px;box-shadow:none;margin:0 0 10px}
.prose.centered{margin-inline:auto}
.prose .video-card{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;margin:1.4em 0;box-shadow:var(--sh-lift);text-decoration:none}
.prose .video-card img{margin:0;width:100%;max-height:520px;object-fit:cover;border-radius:0;box-shadow:none}
.prose .video-card .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:var(--r-pill);background:rgba(255,255,255,.94);color:var(--ink);font-weight:800;box-shadow:var(--sh-card);transition:.25s var(--ease-pop)}
.prose .video-card .play svg{width:20px;height:20px;color:var(--cta)}
.prose .video-card:hover .play{transform:translate(-50%,-50%) scale(1.05)}
.prose .et_pb_toggle{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;margin:0 0 10px;box-shadow:var(--sh-card)}
.prose .et_pb_toggle_title{font-family:var(--font-body);font-weight:800;font-size:1.02rem;margin:0 0 8px}
.prose .et_pb_toggle_content p:last-child{margin-bottom:0}
.prose .dtp-card-title{font-family:var(--font-display);font-size:1.25rem;margin:.2em 0 .3em}
.prose .et_pb_column_empty{display:none}
.prose .et_pb_row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px 28px;align-items:start}
.prose .et_pb_row>.et_pb_column{min-width:0}
.prose .et_pb_column>.et_pb_module:last-child>*:last-child,.prose .et_pb_column>.et_pb_module:last-child p:last-child{margin-bottom:0}
.prose .dtp-module{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-card);height:100%}
.prose .dtp-module .dtp-card-desc p{font-size:.98rem;line-height:1.6}
.prose .dtp-module img.img-icon{margin-bottom:14px}
.prose .video-card .play{left:20px;top:auto;bottom:20px;transform:none}
.prose .video-card:hover .play{transform:scale(1.05)}
.prose .video-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,38,30,0) 55%,rgba(23,38,30,.55) 100%);pointer-events:none}
.prose .video-card .play{z-index:1}
.prose .dtp-card,.prose [class*=dtp-card]{border-radius:var(--r-md)}
.prose figure{margin:1.4em 0}
.prose figure img{margin:0}
.prose figcaption{font-size:.85rem;color:var(--muted);margin-top:8px;text-align:center}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--lilac);font-weight:800}
.prose blockquote{margin:1.4em 0;padding:18px 22px;border-left:4px solid var(--primary);background:var(--lilac);border-radius:0 var(--r-md) var(--r-md) 0;font-style:italic}
.prose a{text-decoration:underline;text-decoration-color:rgba(46,139,103,.4);text-underline-offset:3px}
.prose a:hover{text-decoration-color:var(--primary)}
.prose video{width:100%;border-radius:var(--r-lg)}
.prose .schema-text{display:none}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,56px);align-items:start}
.article-layout .prose{max-width:none}
.article-layout .sidebar{position:sticky;top:calc(var(--nav-h) + 16px)}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-card);display:grid;gap:10px;justify-items:start}
.side-card img.avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:top;background:var(--lilac);border:4px solid var(--lilac)}
.side-card h4{margin:0;font-size:1.1rem}
.side-card p{margin:0;font-size:.92rem;color:var(--muted)}
.side-links li a{display:grid;gap:2px}
.side-links li a small{font-weight:600;color:var(--muted);font-size:.8rem}
.side-links li{padding-bottom:8px;border-bottom:1px solid var(--line)}
.side-links li:last-child{border:0;padding-bottom:0}

/* ---------- Dark band + mouse glow ---------- */
.on-dark{background:var(--plum-deep);color:#fff;position:relative;overflow:hidden}
.on-dark h1,.on-dark h2,.on-dark h3{color:#fff}
.bcard-strong::after{background:linear-gradient(180deg,rgba(23,38,30,.12) 0%,rgba(23,38,30,.55) 45%,rgba(23,38,30,.9) 100%)}
.on-dark p{color:rgba(255,255,255,.82)}
.on-dark .glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(46,139,103,.45),rgba(95,194,156,.15) 45%,transparent 70%);filter:blur(30px);pointer-events:none;transform:translate(-50%,-50%);left:60%;top:40%;transition:left .6s var(--ease),top .6s var(--ease)}
.on-dark .card{background:rgba(255,255,255,.06);border-color:var(--line-dark);color:#fff}

/* ---------- Blog ---------- */
.postgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);transition:transform .35s var(--ease),box-shadow .35s}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lift)}
.post-card .pc-img{aspect-ratio:16/10;overflow:hidden;background:var(--sand)}
.post-card .pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.post-card:hover .pc-img img{transform:scale(1.05)}
.post-card .pc-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card h3{font-family:var(--font-body);font-weight:800;font-size:1.06rem;line-height:1.32;margin:0}
.post-card h3 a{color:var(--ink)}
.post-card h3 a:hover{color:var(--primary)}
.post-card p{font-size:.92rem;color:var(--muted);margin:0}
.post-card .meta{font-size:.78rem;font-weight:700;color:var(--muted-2);margin-top:auto;padding-top:6px}
.post-hero{padding:clamp(28px,4vw,56px) 0 0}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.82rem;font-weight:700;color:var(--muted);margin-bottom:16px}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs a:hover{color:var(--primary)}
.breadcrumbs span.sep{opacity:.5}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,4vw,56px);align-items:start}
.post-featured{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lift);aspect-ratio:16/9;margin:22px 0 30px}
.post-featured img{width:100%;height:100%;object-fit:cover}
.byline{display:flex;align-items:center;gap:12px;font-size:.9rem;font-weight:700;color:var(--muted);flex-wrap:wrap}
.byline img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.byline a{color:var(--ink)}
.sidebar{display:grid;gap:20px}
.author-bio{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-card);display:grid;gap:12px}
.author-bio img.avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:4px solid var(--lilac)}
.author-bio h3{font-size:1.2rem;margin:0}
.author-bio .role{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.author-bio p{font-size:.92rem;color:var(--muted);margin:0}
.socials{display:flex;gap:8px;flex-wrap:wrap}
.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--lilac);color:var(--plum);transition:.2s}
.socials a:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}
.socials a svg{width:18px;height:18px}
.on-dark .socials a{background:rgba(255,255,255,.1);color:#fff}
.on-dark .socials a:hover{background:var(--primary)}
.side-list{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-card)}
.side-list h4{margin:0 0 12px}
.side-list ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.side-list li a{display:flex;gap:10px;align-items:center;font-weight:700;font-size:.9rem;color:var(--ink)}
.side-list li a img{width:54px;height:54px;border-radius:12px;object-fit:cover;flex:none;background:var(--sand)}
.side-list li a:hover{color:var(--primary)}
.share-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:26px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:800;font-size:.9rem}
.cat-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}

/* ---------- FAQ ---------- */
.faq-nav{position:sticky;top:calc(var(--nav-h) + 10px);z-index:5;display:flex;gap:8px;flex-wrap:wrap;background:rgba(255,248,240,.9);backdrop-filter:blur(8px);padding:10px 0;margin-bottom:24px}
.faq-section{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(24px,4vw,56px);align-items:start;padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--line)}
.faq-section .fimg{position:sticky;top:calc(var(--nav-h) + 92px);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lift);aspect-ratio:4/3}
.faq-section .fimg img{width:100%;height:100%;object-fit:cover}
.faq-section h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.accordion{display:grid;gap:10px}
.accordion details{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:0 18px;box-shadow:var(--sh-card);transition:.25s}
.accordion details[open]{border-color:rgba(46,139,103,.4);box-shadow:0 12px 30px rgba(46,139,103,.12)}
.accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary h3{font-family:var(--font-body);font-size:1.02rem;font-weight:800;margin:0;line-height:1.35}
.accordion summary i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--lilac);color:var(--primary);display:grid;place-items:center;transition:transform .3s}
.accordion summary i svg{width:16px;height:16px}
.accordion details[open] summary i{transform:rotate(45deg);background:var(--primary);color:#fff}
.accordion .ans{padding:0 0 18px;color:#17261E;line-height:1.65}
.accordion .ans p{margin:0 0 .6em}

