/* Ajustes de contraste y visibilidad para CéspedPerú 3.5. */
html.dark .cespedperu-theme .header-actions .icon-btn,
html.dark .cespedperu-theme .garden-mobile-menu,
html.dark .cespedperu-theme .mobile-theme-toggle {
    color: #eef7ef;
}

html.dark .cespedperu-theme .header-actions .icon-btn:hover,
html.dark .cespedperu-theme .garden-mobile-menu:hover {
    color: #b6e19a;
    background: #294328;
    border-color: var(--border);
}

html.dark .cespedperu-theme .garden-search-form button {
    color: #b8c9bb;
}

html.dark .cespedperu-theme .currency-toggle button:not(.active) {
    color: #66766a;
}

/* CéspedPerú 3.5.1 — tarjetas orgánicas y acciones persistentes. */
.cespedperu-theme .product-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 13%,var(--border));border-radius:20px;background:var(--surface);box-shadow:0 7px 22px rgba(27,65,31,.075);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.cespedperu-theme .product-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--primary) 42%,var(--border));box-shadow:0 18px 42px rgba(27,65,31,.16)}
.cespedperu-theme .product-image{aspect-ratio:4/3;border-radius:0;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 88%,#fff),color-mix(in srgb,var(--primary) 9%,var(--surface)))}
.cespedperu-theme .product-image::after{content:"";position:absolute;inset:auto 12% 7px;height:12%;border-radius:50%;background:rgba(36,87,43,.1);filter:blur(10px);pointer-events:none}
.cespedperu-theme .product-image img{position:relative;z-index:1;padding:13px;transition:transform .38s cubic-bezier(.2,.75,.2,1)}
.cespedperu-theme .product-card:hover .product-image img{transform:scale(1.065) rotate(-.6deg)}
.cespedperu-theme .product-body{display:flex;flex:1;flex-direction:column;padding:15px 16px 16px}
.cespedperu-theme .product-body h3{min-height:2.5em;margin:0 0 7px;overflow:hidden;color:var(--text);font-size:.96rem;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.cespedperu-theme .price{font-size:1rem}.cespedperu-theme .product-actions{margin-top:auto;padding-top:13px}
.cespedperu-theme .product-actions .btn{border-radius:999px;padding-inline:1rem}
.cespedperu-theme .product-actions .icon-btn{border-color:color-mix(in srgb,var(--primary) 28%,var(--border));background:color-mix(in srgb,var(--surface) 92%,var(--primary));color:var(--primary-strong);transition:transform .2s ease,background .2s ease,color .2s ease}
.cespedperu-theme .product-actions .icon-btn:hover{transform:scale(1.08);background:var(--primary);color:#fff}
html.dark .cespedperu-theme .product-card{background:#1b2d1b;border-color:#385637;box-shadow:0 10px 28px rgba(0,0,0,.24)}
html.dark .cespedperu-theme .product-card:hover{border-color:#6ca845;box-shadow:0 20px 46px rgba(0,0,0,.36)}
html.dark .cespedperu-theme .product-image{background:linear-gradient(145deg,#eaf5e3,#cce5c5)}
html.dark .cespedperu-theme .product-actions .icon-btn{background:#253d25;color:#b8e69c}
.product-save-bar{position:sticky;z-index:20;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1000px;margin:1.15rem auto 0;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 36px rgba(18,45,28,.16);backdrop-filter:blur(14px)}
.product-save-bar>div:first-child{display:grid;gap:.12rem}.product-save-bar span{color:var(--muted);font-size:.78rem}.product-save-bar .form-actions{flex-wrap:nowrap}
html.dark .product-save-bar{background:rgba(27,45,27,.94);border-color:#496847;box-shadow:0 15px 38px rgba(0,0,0,.34)}
@media (max-width:760px){.cespedperu-theme .product-card{border-radius:16px}.cespedperu-theme .product-body{padding:12px}.cespedperu-theme .product-body h3{font-size:.86rem}.cespedperu-theme .product-actions .btn{min-height:34px;padding:.42rem .78rem}.product-save-bar{bottom:8px;padding:.72rem}.product-save-bar>div:first-child{display:none}.product-save-bar .form-actions{width:100%}.product-save-bar .btn{flex:1}}


/* CéspedPerú 3.6.0 — productos digitales, biblioteca de páginas y editor avanzado. */
.digital-badge{position:absolute;z-index:3;top:12px;right:12px;display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .7rem;border-radius:999px;background:#244f2d;color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 6px 18px rgba(15,45,22,.22)}
.offer-badge+.digital-badge{top:52px}
.digital-product-notice,.digital-delivery-checkout{display:flex;align-items:flex-start;gap:1rem;padding:1.05rem;border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--primary) 8%,var(--surface))}
.digital-product-notice p,.digital-delivery-checkout p{margin:.25rem 0 0;color:var(--muted);line-height:1.55}
.digital-delivery-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;font-size:1.5rem;font-weight:900}
.download-library{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.download-card{display:grid;grid-template-columns:120px 1fr;overflow:hidden;border-radius:18px}
.download-card>img{width:100%;height:100%;min-height:190px;object-fit:cover;background:var(--surface-2)}
.download-card-body{display:flex;flex-direction:column;align-items:flex-start;padding:1.1rem}
.download-card h2{margin:.3rem 0;font-size:1.1rem}.download-card .btn{margin-top:auto}
.digital-kicker{color:var(--primary-strong);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.download-file-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.account-empty{grid-column:1/-1;padding:clamp(1.5rem,5vw,3rem);text-align:center}.download-empty-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 1rem;border-radius:50%;background:color-mix(in srgb,var(--primary) 13%,var(--surface));color:var(--primary);font-size:2rem;font-weight:900}
.tab-count{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;margin-left:.3rem;padding:0 .3rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.68rem}
.digital-product-toggle{padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--primary) 7%,var(--surface))}
.digital-file-current{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid var(--border);border-radius:14px}.digital-file-current>div{display:grid;min-width:0;flex:1}.digital-file-current small{color:var(--muted)}.digital-file-icon{display:grid;place-items:center;width:44px;height:50px;border-radius:8px;background:#b82727;color:#fff;font-size:.7rem;font-weight:900}
.notice-info{padding:1rem;border-left:4px solid var(--primary);border-radius:8px;background:var(--surface-2)}.notice-info p{margin:.3rem 0 0;color:var(--muted)}
.page-template-library{display:grid;gap:1rem;padding:1.1rem;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.page-template-library h3{margin:.2rem 0}.page-template-library p{margin:.2rem 0;color:var(--muted)}
.page-template-controls{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:.65rem;align-items:center}.page-template-file{cursor:pointer;text-align:center}.page-template-status{min-height:1.25em;color:var(--primary-strong)!important;font-weight:700}.page-template-status.is-error{color:var(--danger)!important}
.resource-save-bar{position:sticky;z-index:20;bottom:10px;padding:.8rem;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 10px 30px rgba(15,45,22,.14);backdrop-filter:blur(12px)}
.rich-editor-footer{display:flex;justify-content:space-between;gap:1rem;padding:.45rem .7rem;border-top:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:.72rem}.rich-editor-source{display:block;width:100%;min-height:320px;padding:1rem;border:0;outline:none;resize:vertical;background:#17251b;color:#dff5df;font:13px/1.55 Consolas,monospace}.rich-editor-source[hidden]{display:none}.rich-editor.is-fullscreen{position:fixed;z-index:9999;inset:12px;display:flex;flex-direction:column;border-radius:16px;background:var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.4)}.rich-editor.is-fullscreen .rich-editor-area,.rich-editor.is-fullscreen .rich-editor-source{flex:1;min-height:0;overflow:auto}.editor-fullscreen-open{overflow:hidden}
.rich-editor-area img,.rich-content img{max-width:100%;height:auto}.page-table-wrap{max-width:100%;overflow:auto}.rich-editor-area table,.rich-content table{width:100%;border-collapse:collapse}.rich-editor-area th,.rich-editor-area td,.rich-content th,.rich-content td{padding:.7rem;border:1px solid var(--border);text-align:left}
.rich-content .page-hero-block{padding:clamp(1.5rem,5vw,4rem);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 16%,var(--surface)),color-mix(in srgb,var(--brand-gold) 10%,var(--surface)));text-align:center}.rich-content .page-hero-block h2{max-width:760px;margin:.5rem auto;font-size:clamp(2rem,5vw,4rem);line-height:1.05}.rich-content .page-hero-block p{max-width:680px;margin:1rem auto}.rich-content .page-kicker{color:var(--primary-strong);font-size:.75rem;font-weight:900;letter-spacing:.14em}.rich-content .page-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.3rem 0}.rich-content .page-card-grid article{padding:1.3rem;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}.rich-content .page-split-block{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding:clamp(1.3rem,4vw,2.5rem);margin:1.3rem 0;border-radius:20px;background:var(--surface-2)}.rich-content .page-cta-block{padding:clamp(1.5rem,5vw,3rem);margin-top:1.3rem;border-radius:20px;background:#244f2d;color:#fff;text-align:center}.rich-content .page-cta-block h2{color:#fff}.rich-content .page-faq-list{display:grid;gap:.8rem;margin-top:1.3rem}.rich-content .page-faq-list details{padding:1rem 1.2rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.rich-content .page-faq-list summary{cursor:pointer;font-weight:800}.rich-content .page-stat{display:block;color:var(--primary-strong);font-size:1.5rem}
html.dark .digital-badge,html.dark .digital-delivery-icon{background:#70a94e;color:#10200f}html.dark .digital-product-notice,html.dark .digital-delivery-checkout,html.dark .page-template-library{background:#203520;border-color:#496a46}html.dark .download-card>img{background:#e5f1df}html.dark .rich-content .page-hero-block{background:linear-gradient(135deg,#203920,#302f1d)}html.dark .rich-content .page-cta-block{background:#152f1a}html.dark .resource-save-bar{background:rgba(27,45,27,.94)}
@media(max-width:900px){.page-template-controls{grid-template-columns:1fr 1fr}.page-template-controls select{grid-column:1/-1}.rich-content .page-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.download-card{grid-template-columns:1fr}.download-card>img{height:180px;min-height:0}.page-template-controls{grid-template-columns:1fr}.page-template-controls>*{grid-column:auto!important;width:100%}.rich-content .page-card-grid,.rich-content .page-split-block{grid-template-columns:1fr}.rich-content .page-hero-block{border-radius:16px}.rich-editor.is-fullscreen{inset:0;border-radius:0}.editor-toolbar{max-height:34vh;overflow:auto}.rich-editor-footer{display:none}.digital-product-notice,.digital-delivery-checkout{align-items:flex-start}}
.order-digital-access{display:flex;align-items:flex-start;gap:1rem;margin-top:1rem;padding:1.3rem}.order-digital-access h2{margin:0}.order-digital-access p{margin:.35rem 0}.order-download-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}


/* CéspedPerú 3.9.0 — módulos finales configurables de la portada. */
.showcase-section{padding:clamp(3rem,7vw,6rem) 0;background:var(--background);color:var(--text)}
.showcase-section:nth-of-type(even){background:var(--surface-2)}
.showcase-heading{display:grid;justify-items:center;margin:0 0 clamp(1.8rem,4vw,3rem);text-align:center}
.showcase-heading-left{justify-items:start;text-align:left}
.showcase-heading span{color:var(--primary-strong);font-size:clamp(.78rem,1.3vw,1rem);font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.showcase-heading h2{margin:.35rem 0 .7rem;color:var(--text);font-size:clamp(1.85rem,4vw,2.75rem);font-weight:900;line-height:1.08;text-transform:uppercase}
.showcase-heading i{display:block;width:150px;max-width:38vw;height:3px;background:var(--brand-gold)}
.showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.85rem,1.8vw,1.35rem)}
.showcase-service-card{position:relative;display:block;min-width:0;padding-bottom:2.2rem;color:#fff;text-decoration:none;transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .3s ease}
.showcase-service-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--surface-2)}
.showcase-service-card strong{position:absolute;right:5%;bottom:0;left:5%;display:grid;place-items:center;min-height:4.8rem;padding:.8rem;background:#315f35;color:#fff;font-size:clamp(.78rem,1.4vw,1.05rem);font-weight:800;text-align:center;text-transform:uppercase;box-shadow:0 8px 18px rgba(22,58,29,.16)}
.showcase-service-card:hover,.showcase-service-card:focus-visible{transform:translateY(-8px)}
.showcase-service-card:hover img{filter:saturate(1.08)}
.showcase-carousel{position:relative;padding:0 2.9rem 1.7rem}
.showcase-client-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3rem)/4);gap:1rem;overflow-x:auto;padding:4px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x pan-y}
.showcase-client-track::-webkit-scrollbar{display:none}
.showcase-client-slide{min-width:0;scroll-snap-align:start}
.showcase-client-slide>a,.showcase-client-slide>div{display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 70%,var(--border));border-radius:20px;background:#fff}
.showcase-client-slide img{display:block;width:86%;height:86%;object-fit:contain;filter:none}
.showcase-carousel-arrow{position:absolute;z-index:2;top:calc(50% - 1.7rem);display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid color-mix(in srgb,var(--primary) 42%,var(--border));border-radius:50%;background:var(--surface);color:var(--primary-strong);font-size:1.75rem;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}
.showcase-carousel-arrow:hover:not(:disabled){background:var(--primary);color:#fff}
.showcase-carousel-arrow:disabled{opacity:.25;cursor:default}.showcase-carousel-arrow.is-previous{left:0}.showcase-carousel-arrow.is-next{right:0}
.showcase-carousel-dots{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:center;gap:.5rem}
.showcase-carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--muted) 45%,transparent);cursor:pointer}
.showcase-carousel-dots button.active{background:var(--primary-strong);transform:scale(1.2)}
.showcase-blog-card{min-width:0;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.showcase-blog-card:hover{transform:translateY(-7px)}
.showcase-blog-image{display:grid;place-items:center;overflow:hidden;aspect-ratio:1.16/1;background:linear-gradient(145deg,var(--surface-2),color-mix(in srgb,var(--primary) 12%,var(--surface)))}
.showcase-blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.showcase-blog-card:hover .showcase-blog-image img{transform:scale(1.045)}
.showcase-blog-image>span{font-size:3rem}.showcase-blog-card h3{margin:1rem 0 .55rem;font-size:clamp(.9rem,1.5vw,1.15rem);line-height:1.25;text-transform:uppercase}.showcase-blog-card h3 a{color:var(--text);text-decoration:none}
.showcase-blog-card p{display:-webkit-box;min-height:3.2em;margin:0 0 .9rem;overflow:hidden;color:var(--muted);font-size:.88rem;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.showcase-read-more{display:inline-flex;align-items:center;gap:.3rem;color:var(--brand-gold);font-size:.86rem;font-weight:800;text-decoration:none}.showcase-read-more span{transition:transform .2s ease}.showcase-read-more:hover span{transform:translateX(4px)}
.showcase-instagram-container{max-width:1500px}.showcase-instagram-grid{gap:.65rem}
.showcase-instagram-card{position:relative;display:block;overflow:hidden;aspect-ratio:1/1;background:var(--surface-2)}
.showcase-instagram-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}
.showcase-instagram-card>span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(25,66,31,.42);opacity:0;transition:opacity .3s ease}
.showcase-instagram-card svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:1.8}
.showcase-instagram-card:hover img{transform:scale(1.07);filter:saturate(1.1)}.showcase-instagram-card:hover>span,.showcase-instagram-card:focus-visible>span{opacity:1}
.showcase-service-card:focus-visible,.showcase-blog-card a:focus-visible,.showcase-instagram-card:focus-visible,.showcase-client-slide a:focus-visible,.showcase-carousel-arrow:focus-visible,.showcase-carousel-dots button:focus-visible{outline:3px solid var(--brand-gold);outline-offset:3px}
html.dark .showcase-client-slide>a,html.dark .showcase-client-slide>div{background:#f7faf5;border-color:#6ca845}
html.dark .showcase-service-card strong{background:#315f35;color:#fff}html.dark .showcase-blog-image{background:linear-gradient(145deg,#e8f2e4,#cfe4c8)}
html.dark .showcase-carousel-arrow{background:#243c24;color:#a5db86;border-color:#4f744b}
.showcase-admin-intro{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.4rem;margin-bottom:1rem}.showcase-admin-intro h2{margin:.2rem 0}.showcase-admin-intro p{margin:0;color:var(--muted)}
.showcase-admin-tabs>.admin-tab-panel{display:grid;gap:1rem;margin-top:1rem}.showcase-section-form{max-width:none}.showcase-admin-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.4fr);gap:1rem;align-items:start}.showcase-admin-layout>.admin-form{position:sticky;top:78px}
.showcase-admin-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.showcase-edit-card{display:grid;align-content:start;overflow:hidden}.showcase-edit-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-2)}.showcase-logo-edit-card>img{object-fit:contain;padding:1rem;background:#fff}.showcase-edit-card>.admin-form{padding:1rem}.showcase-edit-card>form:last-child{padding:0 1rem 1rem}
.showcase-admin-empty{grid-column:1/-1;padding:2rem;color:var(--muted);text-align:center}.showcase-blog-admin,.instagram-connect-panel,.showcase-blog-admin{padding:1.3rem}.showcase-blog-list{margin-top:1rem}.showcase-blog-admin-card{display:grid;grid-template-columns:92px 1fr;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.showcase-blog-admin-card>img{width:100%;height:100%;min-height:110px;object-fit:cover}.showcase-blog-admin-card>div{display:grid;align-content:center;justify-items:start;gap:.5rem;padding:.8rem}.showcase-blog-admin-card small{color:var(--muted)}
.integration-status-row{display:flex;align-items:center;gap:.7rem}.integration-status-row small{color:var(--muted)}
.instagram-connect-panel>.admin-form{padding:0}.instagram-connect-panel>.form-actions{padding-top:1rem;border-top:1px solid var(--border)}
.instagram-connect-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.showcase-blog-admin,.instagram-connect-panel{display:grid;gap:1rem;margin-top:1rem}.instagram-connect-panel{padding:1.3rem}.instagram-connect-panel .admin-form{max-width:none}
.instagram-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1rem}.instagram-admin-card{display:grid;overflow:hidden;border:1px solid var(--border);border-radius:14px}.instagram-admin-card>img{width:100%;aspect-ratio:1/1;object-fit:cover}.instagram-admin-card>form{display:grid;gap:.55rem;padding:.75rem}.instagram-admin-card>form:last-child{padding-top:0}
html.dark .showcase-edit-card>img,html.dark .showcase-logo-edit-card>img,html.dark .showcase-blog-admin-card>img{filter:none}
@media(max-width:980px){.showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.showcase-client-track{grid-auto-columns:calc((100% - 2rem)/3)}.showcase-admin-layout{grid-template-columns:1fr}.showcase-admin-layout>.admin-form{position:static}.instagram-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.showcase-section{padding:2.7rem 0}.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.showcase-client-track{grid-auto-columns:calc((100% - .75rem)/2);gap:.75rem}.showcase-carousel{padding-inline:0}.showcase-carousel-arrow{display:none}.showcase-service-card{padding-bottom:1.65rem}.showcase-service-card strong{right:4%;left:4%;min-height:3.7rem;padding:.55rem;font-size:.7rem}.showcase-blog-card h3{font-size:.78rem}.showcase-blog-card p{font-size:.76rem}.showcase-read-more{font-size:.77rem}.showcase-heading-left{justify-items:center;text-align:center}.showcase-admin-intro{align-items:flex-start;flex-direction:column}.showcase-admin-items{grid-template-columns:1fr}.instagram-connect-panel .form-grid{grid-template-columns:1fr}.instagram-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(pointer:coarse){.showcase-carousel-arrow{display:none}.showcase-carousel{padding-inline:0}}

/* Reusable JSON page templates: grass types and quote gallery */
.page-content-narrow{max-width:900px}.page-content-wide{max-width:1380px}.page-content-title{font-size:clamp(2.8rem,6vw,4.7rem)}.page-content-featured{width:100%;max-height:440px;object-fit:cover;border-radius:var(--radius);margin-bottom:1.2rem}.rich-content{padding:clamp(1.2rem,4vw,2.5rem);line-height:1.8}.rich-content-wide{padding:clamp(1rem,3vw,2.2rem)}
.rich-content .page-grass-template{color:var(--text)}.rich-content .page-grass-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4.5rem);align-items:stretch}.rich-content .page-grass-detail-media{min-height:670px;margin:0;overflow:hidden;border-radius:2px;background:var(--surface-2)}.rich-content .page-grass-detail-media img{width:100%;height:100%;min-height:670px;object-fit:cover;filter:none}.rich-content .page-grass-detail-content{display:flex;flex-direction:column;justify-content:flex-start;min-width:0}.rich-content .page-grass-heading{margin:0 0 clamp(2rem,5vw,4.2rem)}.rich-content .page-grass-kicker{display:block;margin:0 0 .2rem;color:var(--primary-strong);font-size:clamp(.85rem,1.5vw,1rem);line-height:1.3}.rich-content .page-grass-heading h2{position:relative;margin:0;padding-bottom:1rem;color:var(--text);font-size:clamp(2rem,4vw,3.1rem);font-weight:900;line-height:1.08;letter-spacing:-.03em}.rich-content .page-grass-heading h2::after{position:absolute;bottom:0;left:0;width:150px;height:4px;background:var(--brand-gold);content:""}
.rich-content .page-grass-accordion{display:grid;gap:.65rem}.rich-content .page-grass-accordion details{overflow:hidden;border:0;background:var(--surface-2)}.rich-content .page-grass-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:50px;padding:.75rem 1.8rem;cursor:pointer;color:var(--text);font-size:.95rem;font-weight:800;list-style:none;transition:background .2s ease,color .2s ease}.rich-content .page-grass-accordion summary::-webkit-details-marker{display:none}.rich-content .page-grass-accordion summary::after{content:"+";font-size:1.7rem;font-weight:300;line-height:1}.rich-content .page-grass-accordion details[open] summary{background:var(--brand-gold);color:#19331c}.rich-content .page-grass-accordion details[open] summary::after{content:"−"}.rich-content .page-grass-accordion details>div{padding:1.3rem clamp(1.1rem,4vw,4rem) 1.6rem;color:var(--muted)}.rich-content .page-grass-accordion details>div p{margin:0 0 .8rem}.rich-content .page-grass-accordion details>div p:last-child{margin-bottom:0}.rich-content .page-grass-accordion summary:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}
.rich-content .page-grass-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);padding-top:1rem}.rich-content .page-grass-card{min-width:0;margin:0;text-align:center;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.rich-content .page-grass-card:hover{transform:translateY(-7px)}.rich-content .page-grass-card img{width:100%;aspect-ratio:1.35/1;object-fit:cover;background:var(--surface-2);filter:none;transition:transform .4s ease,filter .4s ease}.rich-content .page-grass-card:hover img{filter:saturate(1.08)}.rich-content .page-grass-card h2{margin:.65rem 0 0;color:var(--text);font-size:clamp(1.2rem,2.2vw,1.85rem);font-weight:900;line-height:1.2}.rich-content .page-grass-gallery-action{margin:clamp(2.5rem,6vw,4rem) 0 .5rem;text-align:center}.rich-content .page-grass-quote-button{min-width:270px;border-color:var(--brand-gold);border-radius:999px;background:var(--brand-gold);color:#19331c;font-weight:900}.rich-content .page-grass-quote-button:hover,.rich-content .page-grass-quote-button:focus-visible{border-color:var(--primary);background:var(--primary);color:#fff}
html.dark .rich-content .page-grass-detail-media img,html.dark .rich-content .page-grass-card img{filter:none}html.dark .rich-content .page-grass-accordion details{background:#263a25}html.dark .rich-content .page-grass-accordion details[open] summary{color:#132713}
@media(max-width:900px){.rich-content .page-grass-detail{grid-template-columns:1fr}.rich-content .page-grass-detail-media,.rich-content .page-grass-detail-media img{min-height:420px;max-height:580px}.rich-content .page-grass-heading{margin-bottom:2rem}.rich-content .page-grass-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.rich-content .page-grass-card:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - .75rem)}}
@media(max-width:640px){.page-content-section{padding-block:1.5rem}.rich-content-wide{padding:.75rem}.rich-content .page-grass-detail{gap:1.5rem}.rich-content .page-grass-detail-media,.rich-content .page-grass-detail-media img{min-height:360px;max-height:470px}.rich-content .page-grass-heading h2::after{width:110px}.rich-content .page-grass-accordion summary{padding:.75rem 1rem;font-size:.82rem}.rich-content .page-grass-accordion details>div{padding:1rem}.rich-content .page-grass-gallery{grid-template-columns:1fr}.rich-content .page-grass-card:last-child{grid-column:auto;width:100%}.rich-content .page-grass-card h2{font-size:1.15rem}.rich-content .page-grass-quote-button{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.rich-content .page-grass-card{transition:none}}

/* Reusable JSON page template: garden maintenance editorial */
.rich-content .page-service-template{color:var(--text)}.rich-content .page-service-editorial{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center;min-height:650px}.rich-content .page-service-copy{min-width:0;padding:clamp(1rem,4vw,3.5rem) 0}.rich-content .page-service-heading{margin:0 0 2rem}.rich-content .page-service-kicker{display:block;margin-bottom:.35rem;color:var(--primary-strong);font-size:clamp(.85rem,1.4vw,1.05rem);line-height:1.3}.rich-content .page-service-heading h2{position:relative;margin:0;padding-bottom:1.2rem;color:var(--text);font-size:clamp(2rem,4.2vw,3.25rem);font-weight:900;line-height:1.08;letter-spacing:-.035em}.rich-content .page-service-heading h2::after{position:absolute;bottom:0;left:0;width:150px;height:4px;background:var(--brand-gold);content:""}.rich-content .page-service-description{max-width:650px;color:var(--muted);font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.75}.rich-content .page-service-description p{margin:0 0 1.15rem}.rich-content .page-service-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2.5rem);margin-top:clamp(2rem,5vw,4.5rem)}.rich-content .page-service-benefits article{display:grid;grid-template-columns:62px 1fr;gap:1rem;align-items:center;min-width:0}.rich-content .page-service-benefit-icon{display:grid;place-items:center;width:58px;height:58px;border:3px solid var(--brand-gold);border-radius:50%;color:var(--primary-strong);font-size:1.45rem;font-weight:900;line-height:1}.rich-content .page-service-benefit-price{font-size:1rem}.rich-content .page-service-benefits h3{margin:0;color:var(--text);font-size:.9rem;font-weight:900}.rich-content .page-service-benefits p{margin:.2rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}
.rich-content .page-service-collage{position:relative;min-height:650px}.rich-content .page-service-photo{position:absolute;overflow:hidden;margin:0;background:var(--surface-2);box-shadow:0 18px 50px rgba(21,52,28,.14);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.rich-content .page-service-photo img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .5s ease}.rich-content .page-service-photo-primary{top:0;left:3%;z-index:1;width:54%;height:60%}.rich-content .page-service-photo-secondary{right:0;bottom:0;z-index:2;width:78%;height:61%}.rich-content .page-service-photo:hover{z-index:3;transform:translateY(-7px)}.rich-content .page-service-photo:hover img{transform:scale(1.025)}html.dark .rich-content .page-service-photo img{filter:none}.rich-content .page-service-photo:focus-within{outline:3px solid var(--brand-gold);outline-offset:3px}
@media(max-width:980px){.rich-content .page-service-editorial{grid-template-columns:1fr;min-height:0}.rich-content .page-service-copy{padding-bottom:0}.rich-content .page-service-collage{min-height:560px}.rich-content .page-service-photo-primary{width:57%;height:62%}.rich-content .page-service-photo-secondary{width:75%;height:60%}}
@media(max-width:640px){.rich-content .page-service-heading h2 br{display:none}.rich-content .page-service-heading h2::after{width:110px}.rich-content .page-service-benefits{grid-template-columns:1fr;margin-top:2rem}.rich-content .page-service-collage{display:grid;gap:1rem;min-height:0}.rich-content .page-service-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.25/1}.rich-content .page-service-photo-secondary{aspect-ratio:1.45/1}.rich-content .page-service-photo:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.rich-content .page-service-photo,.rich-content .page-service-photo img{transition:none}}


/* CéspedPerú 4.0.0 — plantillas editoriales de servicios y banner configurable de páginas. */
.page-public-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(300px,31vw,440px);overflow:hidden;background:var(--surface);color:var(--text)}
.page-public-banner-media{min-width:0;min-height:inherit;background:linear-gradient(145deg,var(--surface-2),color-mix(in srgb,var(--primary) 18%,var(--surface)))}
.page-public-banner-media img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;filter:none}
.page-public-banner-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:clamp(2rem,6vw,7.5rem)}
.page-public-banner-copy p{margin:0 0 .45rem;color:var(--primary-strong);font-size:clamp(.82rem,1.45vw,1.08rem);font-weight:600;letter-spacing:.015em;text-transform:uppercase}
.page-public-banner-copy h1{max-width:760px;margin:0;color:var(--text);font-size:clamp(2rem,4vw,3.35rem);font-weight:900;line-height:1.07;letter-spacing:-.035em;text-wrap:balance;text-transform:uppercase}
.page-public-banner-copy>span{display:block;width:150px;max-width:40%;height:4px;margin-top:1rem;background:var(--brand-gold)}
html.dark .page-public-banner{background:#172b1a}html.dark .page-public-banner-media img{filter:none}
[data-page-banner-field="page_banner_title"].is-banner-field-muted{opacity:.62}
[data-page-banner-field="page_banner_title"].is-banner-field-muted .field{border-style:dashed}
.admin-tab-list [data-admin-tab="banner"].has-enabled-option::after{content:"";display:inline-block;width:7px;height:7px;margin-left:.45rem;border-radius:50%;background:var(--primary)}

.rich-content .page-service-description h3{margin:1.1rem 0 .55rem;color:var(--text);font-size:clamp(1.15rem,2vw,1.7rem);font-weight:900;line-height:1.18}
.rich-content .page-service-description ul{margin:.65rem 0 0;padding-left:1.45rem}.rich-content .page-service-description li{margin:.18rem 0}
.rich-content .page-service-fumigation .page-service-editorial{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);min-height:760px}
.rich-content .page-service-fumigation .page-service-collage{min-height:720px}
.rich-content .page-service-fumigation .page-service-photo-primary{top:0;left:5%;width:55%;height:43%}
.rich-content .page-service-fumigation .page-service-photo-secondary{right:0;bottom:3%;width:76%;height:58%}
.rich-content .page-service-planting .page-service-editorial{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)}
.rich-content .page-service-planting .page-service-photo-primary{top:0;left:4%;width:57%;height:43%}
.rich-content .page-service-planting .page-service-photo-secondary{right:0;bottom:4%;width:76%;height:61%}
.rich-content .page-service-decoration .page-service-editorial{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);min-height:760px}
.rich-content .page-service-decoration .page-service-collage{min-height:720px}
.rich-content .page-service-decoration .page-service-photo-primary{top:14%;left:0;z-index:2;width:58%;height:60%}
.rich-content .page-service-decoration .page-service-photo-secondary{top:0;right:0;bottom:auto;z-index:1;width:60%;height:92%}
.rich-content .page-service-vertical .page-service-editorial{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:760px}
.rich-content .page-service-vertical .page-service-collage{min-height:710px}
.rich-content .page-service-vertical .page-service-photo-primary{top:18%;left:0;z-index:2;width:58%;height:63%;border:10px solid var(--surface)}
.rich-content .page-service-vertical .page-service-photo-secondary{top:7%;right:0;bottom:auto;z-index:1;width:82%;height:80%}
html.dark .rich-content .page-service-vertical .page-service-photo-primary{border-color:#1b2d1b}

@media(max-width:980px){
.page-public-banner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.page-public-banner-copy{padding:clamp(2rem,5vw,4rem)}
.rich-content .page-service-fumigation .page-service-editorial,.rich-content .page-service-planting .page-service-editorial,.rich-content .page-service-decoration .page-service-editorial,.rich-content .page-service-vertical .page-service-editorial{grid-template-columns:1fr;min-height:0}
.rich-content .page-service-fumigation .page-service-collage,.rich-content .page-service-decoration .page-service-collage,.rich-content .page-service-vertical .page-service-collage{min-height:600px}
}
@media(max-width:640px){
.page-public-banner{grid-template-columns:1fr;min-height:0}.page-public-banner-media{min-height:220px;aspect-ratio:16/8}.page-public-banner-media img{min-height:220px}.page-public-banner-copy{min-height:220px;padding:1.7rem 1.25rem 2rem}.page-public-banner-copy h1{font-size:clamp(1.65rem,9vw,2.3rem)}.page-public-banner-copy>span{width:110px}
.rich-content .page-service-fumigation .page-service-collage,.rich-content .page-service-decoration .page-service-collage,.rich-content .page-service-vertical .page-service-collage{min-height:0}
.rich-content .page-service-decoration .page-service-photo-primary,.rich-content .page-service-decoration .page-service-photo-secondary,.rich-content .page-service-vertical .page-service-photo-primary,.rich-content .page-service-vertical .page-service-photo-secondary{position:relative;inset:auto;width:100%;height:auto;border:0;aspect-ratio:1.3/1}
.rich-content .page-service-decoration .page-service-photo-secondary,.rich-content .page-service-vertical .page-service-photo-secondary{aspect-ratio:1.2/1}
}
@media(prefers-reduced-motion:reduce){.page-public-banner *{scroll-behavior:auto}}

@media(max-width:640px){
html,body{max-width:100%;overflow-x:hidden}
.page-public-banner,.page-public-banner-copy,.page-public-banner-copy h1,.page-content-section,.page-content-wide,.rich-content,.rich-content .page-service-template,.rich-content .page-service-editorial,.rich-content .page-service-copy,.rich-content .page-service-heading,.rich-content .page-service-heading h2,.rich-content .page-service-description{min-width:0;max-width:100%;box-sizing:border-box}
.page-public-banner-copy h1,.rich-content .page-service-heading h2,.rich-content .page-service-description,.rich-content .page-service-description p,.rich-content .page-service-description li{overflow-wrap:anywhere;word-break:normal}
}

@media(max-width:640px){
.page-public-banner-copy h1,.rich-content .page-service-heading h2{display:block;width:100%;white-space:normal!important;text-wrap:wrap!important;font-size:clamp(1.5rem,7.2vw,1.85rem);line-height:1.1;letter-spacing:-.04em}
}

@media(max-width:640px){
.page-public-banner{width:100vw!important;max-width:100vw!important}
.page-public-banner-copy{width:100vw!important;max-width:100vw!important}
.page-public-banner-copy h1{width:calc(100vw - 2.5rem)!important;max-width:calc(100vw - 2.5rem)!important}
.page-content-section{width:100vw!important;max-width:100vw!important}
.page-content-section>.page-content-wide{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;margin-right:12px!important;margin-left:12px!important}
.rich-content-wide{width:100%!important;max-width:100%!important}
.rich-content .page-service-template,.rich-content .page-service-editorial,.rich-content .page-service-copy,.rich-content .page-service-description{width:100%!important}
.rich-content .page-service-heading h2,.rich-content .page-service-description{max-width:calc(100vw - 48px)!important}
}
/* CéspedPerú 4.1.0 · banner promocional configurable del catálogo */
.catalog-sidebar {
    display: grid;
    gap: 1.25rem;
    min-width: 0;
}
.catalog-promo-banner {
    --catalog-banner-text: #173f24;
    --catalog-banner-overlay: #ffffff;
    --catalog-banner-overlay-strength: 82%;
    --catalog-banner-position: center;
    position: relative;
    isolation: isolate;
    display: block;
    width: 100%;
    min-height: 360px;
    aspect-ratio: 4 / 5.6;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--brand) 30%, transparent);
    border-radius: calc(var(--radius) + 2px);
    background: var(--surface-soft);
    color: var(--catalog-banner-text);
    box-shadow: 0 16px 36px rgba(32, 68, 34, .14);
    text-decoration: none;
    transform: translateZ(0);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.catalog-promo-banner::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(180deg,
            color-mix(in srgb, var(--catalog-banner-overlay) var(--catalog-banner-overlay-strength), transparent) 0%,
            color-mix(in srgb, var(--catalog-banner-overlay) var(--catalog-banner-overlay-strength), transparent) 24%,
            color-mix(in srgb, var(--catalog-banner-overlay) 35%, transparent) 45%,
            transparent 67%);
    pointer-events: none;
}
.catalog-promo-banner::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
    pointer-events: none;
}
.catalog-promo-banner > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--catalog-banner-position);
    filter: none !important;
    transition: transform .55s cubic-bezier(.2,.75,.25,1);
}
.catalog-promo-copy {
    position: relative;
    z-index: 2;
    display: grid;
    gap: .65rem;
    align-content: start;
    padding: clamp(1.25rem, 2.4vw, 1.75rem);
    color: var(--catalog-banner-text);
}
.catalog-promo-copy small {
    font-size: .7rem;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.catalog-promo-copy strong {
    display: block;
    max-width: 13ch;
    font-family: var(--font-heading, "Manrope", sans-serif);
    font-size: clamp(1.15rem, 1.55vw, 1.55rem);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}
.catalog-promo-copy > span {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    width: max-content;
    max-width: 100%;
    margin-top: .2rem;
    font-size: .78rem;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.catalog-promo-copy b {
    font-size: 1rem;
    transition: transform .25s ease;
}
.catalog-promo-copy small,
.catalog-promo-copy strong,
.catalog-promo-copy > span,
.catalog-promo-copy b {
    color: var(--catalog-banner-text) !important;
    opacity: 1 !important;
}
.catalog-promo-banner:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--brand) 62%, transparent);
    box-shadow: 0 22px 44px rgba(32, 68, 34, .2);
}
.catalog-promo-banner:hover > img { transform: scale(1.035); }
.catalog-promo-banner:hover .catalog-promo-copy b { transform: translateX(4px); }
.catalog-promo-banner:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 3px;
}
html.dark .catalog-promo-banner {
    border-color: color-mix(in srgb, var(--brand-soft) 44%, transparent);
    box-shadow: 0 18px 42px rgba(0,0,0,.32);
}
html.dark .catalog-promo-banner > img { filter: none !important; }
.catalog-banner-admin { display: grid; gap: 1rem; }
.catalog-banner-admin .admin-tab-panel { margin: 0; }
.catalog-banner-admin .home-settings-save { z-index: 12; }
.catalog-banner-admin .banner-current-image img {
    width: 92px;
    height: 116px;
    object-fit: cover;
}
.catalog-banner-preview-wrap {
    width: min(100%, 360px);
    margin-inline: auto;
}
.catalog-banner-preview-wrap .catalog-promo-banner { min-height: 480px; }

@media (max-width: 900px) {
    .catalog-sidebar { gap: 1rem; }
    .catalog-sidebar .catalog-promo-banner {
        min-height: 250px;
        aspect-ratio: 16 / 7;
    }
    .catalog-sidebar .catalog-promo-banner::before {
        background: linear-gradient(90deg,
            color-mix(in srgb, var(--catalog-banner-overlay) var(--catalog-banner-overlay-strength), transparent) 0%,
            color-mix(in srgb, var(--catalog-banner-overlay) var(--catalog-banner-overlay-strength), transparent) 34%,
            color-mix(in srgb, var(--catalog-banner-overlay) 18%, transparent) 68%,
            transparent 84%);
    }
    .catalog-sidebar .catalog-promo-copy {
        max-width: 58%;
        align-content: center;
        min-height: 100%;
    }
    .catalog-sidebar .catalog-promo-copy strong { font-size: clamp(1.35rem, 3.5vw, 2rem); }
}

@media (max-width: 600px) {
    .catalog-sidebar .catalog-promo-banner {
        min-height: min(128vw, 520px);
        aspect-ratio: 4 / 5.15;
    }
    .catalog-sidebar .catalog-promo-banner::before {
        background: linear-gradient(180deg,
            color-mix(in srgb, var(--catalog-banner-overlay) var(--catalog-banner-overlay-strength), transparent) 0%,
            color-mix(in srgb, var(--catalog-banner-overlay) var(--catalog-banner-overlay-strength), transparent) 25%,
            color-mix(in srgb, var(--catalog-banner-overlay) 30%, transparent) 48%,
            transparent 68%);
    }
    .catalog-sidebar .catalog-promo-copy {
        max-width: 88%;
        min-height: 0;
        align-content: start;
        padding: 1.35rem;
    }
    .catalog-sidebar .catalog-promo-copy strong { font-size: clamp(1.35rem, 7vw, 1.85rem); }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-promo-banner,
    .catalog-promo-banner > img,
    .catalog-promo-copy b { transition: none !important; }
    .catalog-promo-banner:hover { transform: none; }
}

/* CéspedPerú 4.2.1 · importación masiva con imágenes remotas */
.product-toolbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:.65rem; flex-wrap:wrap; }
.product-bulk-dialog { width:min(980px,calc(100% - 28px)); }
.product-bulk-dialog .admin-dialog-card { display:grid; gap:1rem; }
.product-bulk-dialog .admin-dialog-card > header { margin-bottom:0; }
.product-bulk-dialog header small,
.bulk-action-card > div > small { color:var(--primary-strong); font-size:.68rem; font-weight:900; letter-spacing:.12em; }
.bulk-actions-grid { display:grid; grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(210px,.8fr)); gap:.85rem; align-items:stretch; }
.bulk-action-card { display:flex; flex-direction:column; gap:.85rem; min-width:0; padding:1rem; border:1px solid var(--border); border-radius:14px; background:var(--surface-2); }
.bulk-action-card > div { display:grid; gap:.35rem; }
.bulk-action-card h3 { margin:0; font-size:1rem; }
.bulk-action-card p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.bulk-action-card > .btn { width:100%; margin-top:auto; }
.bulk-action-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:color-mix(in srgb,var(--primary) 14%,var(--surface)); color:var(--primary-strong); font-size:1.25rem; font-weight:900; }
.bulk-import-card form { display:grid; gap:.7rem; margin-top:auto; }
.bulk-import-card input[type="file"] { min-height:50px; padding:.48rem; background:var(--surface); }
.bulk-import-card input[type="file"]::file-selector-button { min-height:34px; margin-right:.65rem; padding:.4rem .7rem; border:0; border-radius:8px; background:var(--primary); color:#fff; font-weight:800; cursor:pointer; }
.bulk-import-card .toggle-row { margin:0; padding:.62rem .7rem; border:1px solid var(--border); border-radius:10px; background:var(--surface); font-size:.76rem; }
.bulk-import-card .field-help { line-height:1.45; }
.bulk-result { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:.55rem; }
.bulk-result > div { display:grid; gap:.15rem; padding:.7rem .8rem; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); }
.bulk-result span { color:var(--muted); font-size:.67rem; }
.bulk-result strong { color:var(--primary-strong); font-size:1.1rem; }
.bulk-result .has-errors strong { color:var(--danger); }
.bulk-errors { overflow:hidden; border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border)); border-radius:12px; background:color-mix(in srgb,var(--danger) 5%,var(--surface)); }
.bulk-errors summary { padding:.72rem .9rem; color:var(--danger); font-size:.78rem; font-weight:850; cursor:pointer; }
.bulk-errors-list { max-height:190px; overflow:auto; padding:0 .9rem .75rem; }
.bulk-errors-list p { display:grid; gap:.18rem; margin:.35rem 0; padding:.55rem .65rem; border-radius:8px; background:var(--surface); font-size:.72rem; }
.bulk-errors-list span { color:var(--muted); }
.bulk-modal-note { margin:0; padding:.8rem .9rem; border-left:4px solid var(--accent); border-radius:8px; background:color-mix(in srgb,var(--accent) 8%,var(--surface)); color:var(--muted); font-size:.76rem; line-height:1.55; }
.bulk-modal-note strong { color:var(--text); }
html.dark .bulk-action-card,
html.dark .bulk-result > div { background:#2a4228; }
html.dark .bulk-action-icon,
html.dark .bulk-import-card .toggle-row,
html.dark .bulk-errors-list p { background:#20331f; }

@media (max-width:900px) {
    .bulk-actions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bulk-import-card { grid-row:span 2; }
}

@media (max-width:620px) {
    .product-toolbar { align-items:stretch; }
    .product-toolbar > form,
    .product-toolbar-actions { width:100%; }
    .product-toolbar-actions { display:grid; grid-template-columns:1fr 1fr; }
    .product-toolbar-actions .btn { width:100%; }
    .product-bulk-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:14px; }
    .bulk-actions-grid { grid-template-columns:1fr; }
    .bulk-import-card { grid-row:auto; }
    .bulk-result { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bulk-result > div:first-child { grid-column:1 / -1; }
}
