:root {
    --ink: #2d2824;
    --muted: #756b64;
    --cream: #f8f3ed;
    --paper: #fffdf9;
    --sand: #e9ded2;
    --terracotta: #a85f4c;
    --terracotta-dark: #7f4435;
    --sage: #718276;
    --border: #ded3c8;
    --danger: #9a3f3f;
    --success: #4f7259;
    --warning: #8a642d;
    --shadow: 0 18px 50px rgba(67, 48, 36, .08);
    --radius: 18px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--cream); }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
a { color: var(--terracotta-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
img { display: block; max-width: 100%; }
h1, h2, h3 { margin: 0 0 .55em; font-family: Georgia, "Times New Roman", serif; line-height: 1.12; font-weight: 500; }
h1 { font-size: clamp(2rem, 4vw, 3.8rem); }
h2 { font-size: clamp(1.45rem, 2.3vw, 2.1rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1rem; }
small, .muted { display: block; color: var(--muted); }
hr { width: 100%; border: 0; border-top: 1px solid var(--border); margin: 1rem 0; }

.site-header { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 78px; padding: 1rem clamp(1rem, 4vw, 4rem); background: rgba(255,253,249,.96); border-bottom: 1px solid var(--border); backdrop-filter: blur(12px); }
.brand { display: flex; flex-direction: column; color: var(--ink); text-decoration: none; }
.brand:hover { text-decoration: none; }
.brand-name { font-family: Georgia, serif; font-size: 1.65rem; letter-spacing: .02em; }
.brand-subtitle { color: var(--terracotta); font-size: .68rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: .25rem; flex-wrap: wrap; }
.main-nav a { padding: .6rem .8rem; border-radius: 999px; color: var(--muted); font-size: .92rem; }
.main-nav a:hover, .main-nav a.active { color: var(--ink); background: var(--sand); text-decoration: none; }
.count { display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.35rem; margin-left: .25rem; padding: 0 .3rem; border-radius: 50px; background: var(--terracotta); color: white; font-size: .72rem; }
.container { width: min(1240px, calc(100% - 2rem)); min-height: calc(100vh - 160px); margin: 0 auto; padding: clamp(2rem, 5vw, 5rem) 0; }
.site-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 2rem clamp(1rem, 4vw, 4rem); border-top: 1px solid var(--border); color: var(--muted); font-size: .88rem; }

.page-heading { max-width: 820px; margin-bottom: 2.5rem; }
.page-heading p:not(.eyebrow) { color: var(--muted); font-size: 1.08rem; }
.page-heading.narrow, .narrow { width: min(820px, 100%); margin-left: auto; margin-right: auto; }
.split-heading { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.eyebrow { margin-bottom: .75rem; color: var(--terracotta); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.card { padding: clamp(1.25rem, 2.5vw, 2rem); background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.alert { margin: 0 0 1.5rem; padding: .95rem 1.15rem; border-radius: 12px; border: 1px solid; }
.alert-success { color: var(--success); background: #eff7f1; border-color: #bfd6c4; }
.alert-error { color: var(--danger); background: #fff0f0; border-color: #e3b8b8; }
.alert-warning { color: var(--warning); background: #fff6e8; border-color: #e4cda5; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .72rem 1.15rem; border: 1px solid var(--terracotta); border-radius: 10px; background: var(--terracotta); color: white; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; }
.button:hover { background: var(--terracotta-dark); border-color: var(--terracotta-dark); text-decoration: none; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.button-secondary { color: var(--terracotta-dark); background: transparent; }
.button-secondary:hover { color: white; }
.text-link { text-align: center; }
.link-button { padding: 0; border: 0; background: transparent; color: var(--terracotta-dark); font: inherit; cursor: pointer; }

label { display: flex; flex-direction: column; gap: .42rem; font-size: .9rem; font-weight: 700; }
input, select, textarea { width: 100%; min-height: 46px; padding: .7rem .8rem; color: var(--ink); background: #fff; border: 1px solid #cfc2b7; border-radius: 9px; font: inherit; }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(168,95,76,.14); border-color: var(--terracotta); }
label small { font-weight: 400; }
.form-stack { display: grid; gap: 1rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.1rem; }
.form-grid .full { grid-column: 1 / -1; }
.checkbox { flex-direction: row; align-items: center; font-weight: 500; }
.checkbox input { width: 18px; min-height: 18px; }
.form-actions { display: flex; justify-content: flex-end; gap: 1rem; }
.is-hidden { display: none !important; }

.auth-panel { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(2rem, 6vw, 7rem); min-height: 60vh; }
.auth-panel > div > p:not(.eyebrow) { max-width: 650px; color: var(--muted); font-size: 1.13rem; }
.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem; }
.auth-card { width: min(560px,100%); padding: clamp(1.5rem, 4vw, 3rem); background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.install-card { width: min(780px,100%); }
.brand-lockup { display: flex; flex-direction: column; margin-bottom: 2rem; }
.brand-lockup strong { font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.brand-lockup span { color: var(--terracotta); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.section-heading h2, .section-heading p { margin-bottom: 0; }
.section-heading > span { color: var(--muted); font-size: .9rem; }
.catalog-section + .catalog-section { margin-top: 3.5rem; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.35rem; }
.product-card { overflow: hidden; display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.product-image { aspect-ratio: 4/3; display: grid; place-items: center; overflow: hidden; background: #efe8df; color: var(--muted); }
.product-image img { width: 100%; height: 100%; object-fit: cover; }
.product-content { display: flex; flex-direction: column; flex: 1; padding: 1.25rem; }
.sku { margin: 0 0 .35rem; color: var(--terracotta); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.variant { margin-top: -.35rem; color: var(--sage); font-weight: 700; }
.product-data { display: grid; grid-template-columns: repeat(2,1fr); gap: .65rem; margin: auto 0 1rem; padding-top: 1rem; }
.product-data div { padding-top: .5rem; border-top: 1px solid var(--border); }
.product-data dt { color: var(--muted); font-size: .72rem; text-transform: uppercase; }
.product-data dd { margin: .1rem 0 0; font-size: .88rem; font-weight: 700; }
.price-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1rem; }
.price-row strong { display: block; font-size: 1.35rem; }
.price-row small { font-size: .73rem; }
.rrp { text-align: right; }
.rrp span { font-weight: 700; }
.add-form { display: grid; grid-template-columns: 100px 1fr; align-items: end; gap: .75rem; }

.checkout-layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(270px,.7fr); align-items: start; gap: 1.25rem; margin-bottom: 1.25rem; }
.order-summary { position: sticky; top: 98px; }
.order-summary > p { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.order-summary .muted { display: block; border: 0; font-size: .85rem; }
.summary-total { padding-top: .5rem; font-size: 1.08rem; }
.minimum { display: block !important; padding: .7rem !important; border-radius: 8px; font-size: .85rem; }
.minimum.ok { color: var(--success); background: #eff7f1; }
.minimum.missing { color: var(--danger); background: #fff0f0; }
.checkout-form { margin-top: 1.25rem; }
.confirmation-box { display: flex; flex-direction: column; gap: .25rem; padding: 1rem; background: #f2ece5; border-radius: 10px; }
.confirmation-box span { color: var(--muted); }
.qty-input { width: 90px; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .95rem .8rem; text-align: left; border-bottom: 1px solid var(--border); vertical-align: top; }
th { color: var(--muted); font-size: .73rem; letter-spacing: .08em; text-transform: uppercase; }
td small { margin-top: .2rem; }
tbody tr:last-child td { border-bottom: 0; }
.actions { display: flex; align-items: center; gap: .8rem; }
.actions form { margin: 0; }
.empty-state { padding: clamp(2rem, 6vw, 5rem); text-align: center; background: rgba(255,255,255,.45); border: 1px dashed #cdbdb0; border-radius: var(--radius); }
.empty-state p { color: var(--muted); }

.badge { display: inline-flex; align-items: center; width: fit-content; padding: .35rem .65rem; border-radius: 999px; background: #eee7df; color: var(--muted); font-size: .78rem; font-weight: 800; }
.badge-active, .badge-completed { color: var(--success); background: #e4f1e7; }
.badge-pending { color: var(--warning); background: #fff1d8; }
.badge-rejected, .badge-cancelled { color: var(--danger); background: #fae1e1; }
.badge-confirmed, .badge-preparing { color: #5f507c; background: #ece7f6; }
.badge-shipped { color: #35647c; background: #e1f0f7; }
.stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-bottom: 1.25rem; }
.stat-card { display: flex; flex-direction: column; gap: .5rem; padding: 1.4rem; color: var(--ink); background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.stat-card:hover { border-color: var(--terracotta); text-decoration: none; }
.stat-card span { color: var(--muted); font-size: .85rem; }
.stat-card strong { font-family: Georgia, serif; font-size: 2.5rem; font-weight: 500; }
.two-column { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; margin-bottom: 1.25rem; }
.detail-list { margin: 0; }
.detail-list div { display: grid; grid-template-columns: 110px 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--border); }
.detail-list dt { color: var(--muted); }
.detail-list dd { margin: 0; }
.assignment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-bottom: 1rem; }
.assignment-card { flex-direction: row; align-items: flex-start; padding: 1rem; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; }
.assignment-card:has(input:checked) { border-color: var(--sage); background: #eff4f0; }
.assignment-card > input[type="checkbox"], .assignment-product-check input[type="checkbox"] { width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin-top: .2rem; }
.assignment-card span { display: flex; flex-direction: column; }
.filter-row { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.filter-row a { padding: .55rem .8rem; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: var(--paper); }
.filter-row a.active { color: white; background: var(--terracotta); border-color: var(--terracotta); }
.filter-row a:hover { text-decoration: none; }
.timeline { display: grid; gap: 1rem; }
.timeline > div { padding-left: 1rem; border-left: 3px solid var(--sand); }
.timeline span { display: block; color: var(--muted); font-size: .82rem; }
.timeline p { margin: .35rem 0 0; }
.image-preview { align-self: end; width: 130px; height: 100px; overflow: hidden; border-radius: 10px; }
.image-preview img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 980px) {
    .site-header { position: static; align-items: flex-start; flex-direction: column; gap: .75rem; }
    .main-nav { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: .25rem; }
    .main-nav a { white-space: nowrap; }
    .product-grid, .assignment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .checkout-layout { grid-template-columns: 1fr; }
    .order-summary { position: static; }
}

@media (max-width: 680px) {
    .container { width: min(100% - 1.2rem, 1240px); padding: 2rem 0; }
    .site-header { padding: .9rem; }
    .site-footer, .split-heading, .section-heading { align-items: flex-start; flex-direction: column; }
    .auth-panel, .form-grid, .two-column, .product-grid, .assignment-grid { grid-template-columns: 1fr; }
    .form-grid .full { grid-column: auto; }
    .auth-panel { min-height: auto; }
    .product-data { grid-template-columns: 1fr 1fr; }
    .stat-grid { grid-template-columns: 1fr 1fr; }
    .card { border-radius: 13px; }
    th, td { min-width: 110px; }
    .form-actions { flex-direction: column-reverse; }
    .button { width: 100%; }
}

/* Portada profesional Sensecand v1.2.0 */
.professional-home { display: grid; gap: clamp(3rem, 7vw, 6.5rem); }
.home-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(340px,.68fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; min-height: 680px; padding: clamp(2rem, 5vw, 5.5rem); overflow: hidden; color: #342a24; background: linear-gradient(135deg,#f3e9de 0%,#fbf7f1 58%,#e3d7ca 100%); border: 1px solid #dfd0c2; border-radius: 30px; box-shadow: 0 32px 80px rgba(67,48,36,.1); }
.home-hero::before { content:""; position:absolute; z-index:-1; width:560px; height:560px; left:-220px; top:-260px; border:1px solid rgba(168,95,76,.18); border-radius:50%; box-shadow:0 0 0 52px rgba(168,95,76,.045),0 0 0 104px rgba(168,95,76,.035); }
.home-hero::after { content:"S"; position:absolute; z-index:-1; right:clamp(1rem,5vw,5rem); bottom:-.22em; color:rgba(168,95,76,.06); font:600 clamp(15rem,33vw,31rem)/.78 Georgia,serif; }
.home-hero-copy { max-width:720px; }
.home-hero-copy h1 { max-width:760px; margin-bottom:.38em; font-size:clamp(3.2rem,6.3vw,6.5rem); letter-spacing:-.045em; }
.home-lead { max-width:670px; color:#66584f; font-size:clamp(1.05rem,1.8vw,1.32rem); line-height:1.7; }
.home-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin:2.1rem 0; }
.home-actions .button { min-width:180px; }
.home-made { display:flex; flex-wrap:wrap; gap:.55rem 1.4rem; padding-top:1.25rem; border-top:1px solid rgba(84,64,51,.17); color:#725b4f; font-size:.78rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.home-made span { position:relative; }
.home-made span + span::before { content:""; position:absolute; left:-.78rem; top:.45em; width:4px; height:4px; border-radius:50%; background:#aa6651; }
.home-login-card { position:relative; padding:clamp(1.5rem,3vw,2.4rem); background:rgba(255,253,249,.9); border:1px solid rgba(187,157,138,.55); border-radius:22px; box-shadow:0 24px 55px rgba(65,43,31,.14); backdrop-filter:blur(12px); }
.home-login-card::before { content:""; position:absolute; inset:9px; pointer-events:none; border:1px solid rgba(168,95,76,.11); border-radius:15px; }
.home-login-card > * { position:relative; }
.home-card-kicker { margin-bottom:.55rem; color:#aa6651; font-size:.72rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.home-login-card h2 { margin-bottom:.35rem; font-size:clamp(1.8rem,3vw,2.5rem); }
.home-login-card > p:not(.home-card-kicker,.home-register-link) { color:#75685e; }
.home-login-card .form-stack { margin-top:1.4rem; }
.home-login-card input { background:rgba(255,255,255,.82); }
.home-register-link { margin:1rem 0 0; color:#75685e; font-size:.86rem; }
.home-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.home-values article { min-height:250px; padding:2.2rem clamp(1rem,3vw,2.5rem); }
.home-values article + article { border-left:1px solid var(--border); }
.home-values article > span { display:block; margin-bottom:2rem; color:#aa6651; font-family:Georgia,serif; font-size:1.05rem; }
.home-values h2 { font-size:clamp(1.55rem,2.5vw,2.15rem); }
.home-values p { max-width:350px; color:var(--muted); }
.home-story { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,7vw,8rem); align-items:start; padding:clamp(2rem,5vw,5rem); background:#334139; color:#f7f1ea; border-radius:26px; }
.home-story h2 { max-width:480px; font-size:clamp(2.3rem,4vw,4.2rem); }
.home-story .eyebrow { color:#d9ab93; }
.home-steps { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.home-steps li { display:grid; grid-template-columns:50px 1fr; gap:1rem; padding:1.35rem 0; border-bottom:1px solid rgba(255,255,255,.15); }
.home-steps li:first-child { padding-top:0; }
.home-steps li > span { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#edc6b2; font-family:Georgia,serif; }
.home-steps strong { display:block; margin-bottom:.25rem; font:500 1.35rem Georgia,serif; }
.home-steps p { margin:0; color:#cbd3cd; }
.home-closing { max-width:920px; margin:0 auto; padding:1rem 1rem 2rem; text-align:center; }
.home-quote { margin:0 auto 1.3rem; font:500 clamp(2rem,4vw,4rem)/1.24 Georgia,serif; letter-spacing:-.025em; }
.home-closing .text-link { display:inline-block; padding-bottom:.2rem; border-bottom:1px solid currentColor; font-weight:750; }
@media(max-width:980px){.home-hero{grid-template-columns:1fr;min-height:auto}.home-login-card{max-width:620px}.home-story{grid-template-columns:1fr}.home-values{grid-template-columns:1fr}.home-values article{min-height:auto}.home-values article+article{border-left:0;border-top:1px solid var(--border)}}
@media(max-width:680px){.professional-home{gap:3.2rem}.home-hero{padding:2rem 1.15rem;border-radius:19px}.home-hero-copy h1{font-size:clamp(2.7rem,14vw,4.2rem)}.home-login-card{padding:1.35rem;border-radius:16px}.home-actions{display:grid}.home-made{display:grid;gap:.55rem}.home-made span+span::before{display:none}.home-values article{padding:1.75rem .7rem}.home-values article>span{margin-bottom:.8rem}.home-story{padding:2rem 1.25rem;border-radius:18px}.home-steps li{grid-template-columns:42px 1fr}.home-closing{padding-inline:.4rem}}

/* Fotografías de la portada Sensecand v1.3.0 */
.home-values article { display: flex; flex-direction: column; }
.home-value-photo { width: 100%; aspect-ratio: 4 / 3; margin: 0 0 1.45rem; overflow: hidden; background: #e9ded2; border-radius: 16px; box-shadow: 0 12px 30px rgba(67,48,36,.09); }
.home-value-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.home-values article:hover .home-value-photo img { transform: scale(1.025); }
.home-values article > span { margin-bottom: 1rem; }
@media(max-width:980px){.home-value-photo{aspect-ratio:16 / 9;max-height:360px}}
@media(max-width:680px){.home-value-photo{border-radius:12px;margin-bottom:1.15rem}}

/* Fichas profesionales y galería de productos v1.4.0 */
.product-image-link { color: inherit; text-decoration: none; }
.product-image-link:hover { text-decoration: none; }
.product-image-link img { transition: transform .45s ease; }
.product-card:hover .product-image-link img { transform: scale(1.025); }
.product-title-link { color: inherit; }
.product-detail-link { display: inline-block; width: fit-content; margin: 0 0 1rem; padding-bottom: .15rem; color: var(--terracotta-dark); border-bottom: 1px solid currentColor; font-size: .88rem; font-weight: 750; }
.product-sheet-topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.product-sheet { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(360px,.88fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.product-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.product-gallery a { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #ece3da; border-radius: 15px; }
.product-gallery a.is-cover { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
.product-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.product-gallery a:hover img { transform: scale(1.025); }
.product-sheet-no-image { grid-column: 1 / -1; display: grid; place-items: center; min-height: 480px; color: var(--muted); background: #ece3da; border-radius: 18px; }
.product-sheet-content { position: sticky; top: 105px; padding: clamp(1.4rem,3vw,2.4rem); background: var(--paper); border: 1px solid var(--border); border-radius: 20px; box-shadow: var(--shadow); }
.product-sheet-content h1 { margin-bottom: .25em; font-size: clamp(2.5rem,4vw,4.6rem); letter-spacing: -.035em; }
.product-sheet-variant { color: var(--sage); font: 600 1.25rem Georgia,serif; }
.product-sheet-description { margin: 1.5rem 0; color: var(--muted); line-height: 1.75; }
.product-sheet-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1.2rem; margin: 1.5rem 0; }
.product-sheet-data div { padding: .8rem 0; border-top: 1px solid var(--border); }
.product-sheet-data dt { color: var(--muted); font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.product-sheet-data dd { margin: .18rem 0 0; font-weight: 750; }
.product-sheet-price { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 1.2rem; color: #f8f2ec; background: #334139; border-radius: 14px; }
.product-sheet-price div { display: flex; flex-direction: column; }
.product-sheet-price small,.product-sheet-price span { color: #cad3cd; font-size: .73rem; }
.product-sheet-price strong { margin: .15rem 0; font: 500 1.7rem Georgia,serif; }
.product-sheet-order { display: grid; grid-template-columns: 120px 1fr; align-items: end; gap: .8rem; margin-top: 1.2rem; }
.product-sheet-note { margin: .9rem 0 0; color: var(--muted); font-size: .78rem; }
.admin-preview-notice { margin-bottom: 1.5rem; padding: 1rem 1.2rem; color: #5d4a31; background: #fff4db; border: 1px solid #e3c894; border-radius: 12px; }
.product-image-manager { padding-top: 1.5rem; border-top: 1px solid var(--border); }
.product-image-manager .section-heading { align-items: start; }
.product-image-manager .section-heading p { margin-top: .35rem; }
.product-image-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.product-image-field { display: flex; flex-direction: column; gap: .7rem; min-width: 0; padding: 1rem; background: #f8f3ed; border: 1px solid var(--border); border-radius: 13px; }
.product-image-field figure,.image-slot-empty { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border-radius: 9px; }
.product-image-field figure img { width: 100%; height: 100%; object-fit: cover; }
.image-slot-empty { display: grid; place-items: center; color: var(--muted); background: #eee6dd; font-size: .82rem; }
.remove-image { color: var(--danger); font-size: .78rem; }
.actions { flex-wrap: wrap; }
@media(max-width:980px){.product-sheet{grid-template-columns:1fr}.product-sheet-content{position:static}.product-image-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.product-sheet-topbar{align-items:stretch;flex-direction:column}.product-gallery{gap:.5rem}.product-gallery a{border-radius:10px}.product-sheet-content{padding:1.25rem;border-radius:15px}.product-sheet-data,.product-sheet-price{grid-template-columns:1fr}.product-sheet-order{grid-template-columns:1fr}.product-image-fields{grid-template-columns:1fr}}

/* Catálogo visual de administración Sensecand v1.5.0 */
.admin-catalog-heading { margin-bottom: 1.5rem; }
.admin-catalog-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-bottom: 1rem; }
.admin-catalog-summary div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; background: var(--paper); border: 1px solid var(--border); border-radius: 13px; }
.admin-catalog-summary span { color: var(--muted); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.admin-catalog-summary strong { font: 500 1.8rem Georgia,serif; }
.admin-catalog-tools { display: grid; grid-template-columns: minmax(280px,1.6fr) minmax(160px,.55fr) minmax(190px,.75fr); gap: 1rem; margin: 1.2rem 0 .65rem; padding: 1rem; background: rgba(255,255,255,.55); border: 1px solid var(--border); border-radius: 14px; }
.admin-catalog-results { margin: 0 0 1rem; color: var(--muted); font-size: .85rem; }
.admin-product-visual-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.35rem; }
.admin-product-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); }
.admin-product-cover { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; color: var(--muted); background: #eee6dd; }
.admin-product-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.admin-product-card:hover .admin-product-cover img { transform: scale(1.025); }
.admin-product-state { position: absolute; top: .8rem; right: .8rem; padding: .34rem .62rem; color: #fff; border-radius: 999px; box-shadow: 0 4px 14px rgba(0,0,0,.15); font-style: normal; font-size: .72rem; font-weight: 800; }
.admin-product-state.is-active { background: #4f7259; }
.admin-product-state.is-hidden { background: #756b64; }
.admin-product-card-content { display: flex; flex-direction: column; flex: 1; padding: 1.15rem; }
.admin-product-card-meta { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; color: var(--terracotta); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-product-card h2 { margin-bottom: .25rem; font-size: 1.65rem; }
.admin-product-card h2 a { color: inherit; }
.admin-product-description { display: -webkit-box; overflow: hidden; margin: .45rem 0 1rem; color: var(--muted); font-size: .88rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.admin-product-commercial { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin: auto 0 1rem; }
.admin-product-commercial div { padding-top: .55rem; border-top: 1px solid var(--border); }
.admin-product-commercial dt { color: var(--muted); font-size: .68rem; text-transform: uppercase; }
.admin-product-commercial dd { margin: .15rem 0 0; font-weight: 750; }
.admin-product-commercial dd small { display: inline; font-size: .68rem; font-weight: 500; }
.admin-product-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; align-items: center; }
.admin-product-actions .button { min-height: 42px; padding: .55rem .7rem; }
.admin-product-actions form { grid-column: 1 / -1; margin: .15rem 0 0; text-align: center; }
.admin-product-card.is-hidden { display: none; }
@media(max-width:1050px){.admin-product-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-catalog-tools{grid-template-columns:1fr 1fr}.admin-product-search{grid-column:1/-1}}
@media(max-width:680px){.admin-catalog-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-catalog-tools,.admin-product-visual-grid{grid-template-columns:1fr}.admin-product-search{grid-column:auto}.admin-product-card-meta{flex-direction:column;gap:.2rem}}

/* Variantes de aroma y mínimo combinado v1.6.0 */
.add-form.has-variants { grid-template-columns: minmax(0,1fr) 100px; }
.add-form.has-variants .variant-select { grid-column: 1 / -1; }
.variant-minimum-note { grid-column: 1 / -1; margin-top: -.2rem; color: var(--muted); font-size: .75rem; }
.product-sheet-order.has-variants { grid-template-columns: minmax(0,1fr) 110px; }
.product-sheet-order.has-variants .variant-select { grid-column: 1 / -1; }
.product-aroma-list { margin: 1rem 0 1.35rem; }
.product-aroma-list > span { display: block; margin-bottom: .55rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-aroma-list p { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; }
.product-aroma-list em { padding: .42rem .7rem; color: #53655a; background: #edf2ee; border: 1px solid #cad6cd; border-radius: 999px; font-style: normal; font-size: .8rem; font-weight: 700; }
.cart-aroma-help { margin: 1rem 0 0; padding-top: 1rem; color: var(--muted); border-top: 1px solid var(--border); font-size: .82rem; }
.alert ul { margin: .55rem 0 0; padding-left: 1.2rem; }
@media(max-width:680px){.add-form.has-variants,.product-sheet-order.has-variants{grid-template-columns:1fr}.add-form.has-variants .variant-select,.product-sheet-order.has-variants .variant-select,.variant-minimum-note{grid-column:auto}}

/* Biblioteca de fragancias y mínimo combinado v1.7.0 */
.add-form.has-variants { grid-template-columns: minmax(0,1fr) 100px; }
.add-form.has-variants .variant-select { grid-column: 1 / -1; }
.variant-minimum-note { grid-column: 1 / -1; margin-top: -.2rem; color: var(--muted); font-size: .75rem; }
.product-sheet-order.has-variants { grid-template-columns: minmax(0,1fr) 110px; }
.product-sheet-order.has-variants .variant-select { grid-column: 1 / -1; }
.product-aroma-list { margin: 1rem 0 1.35rem; }
.product-aroma-list > span { display: block; margin-bottom: .55rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-aroma-list p { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; }
.product-aroma-list em,.product-aroma-list a { padding: .42rem .7rem; color: #53655a; background: #edf2ee; border: 1px solid #cad6cd; border-radius: 999px; font-style: normal; font-size: .8rem; font-weight: 700; }
.cart-aroma-help { margin: 1rem 0 0; padding-top: 1rem; color: var(--muted); border-top: 1px solid var(--border); font-size: .82rem; }
.alert ul { margin: .55rem 0 0; padding-left: 1.2rem; }
.heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.fragrance-links { display: flex; flex-wrap: wrap; gap: .35rem; }
.fragrance-links a { color: var(--sage); font-size: .78rem; font-weight: 750; }
.fragrance-family-section { margin: 2.2rem 0 3rem; }
.fragrance-grid,.admin-fragrance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.fragrance-card,.admin-fragrance-card { overflow: hidden; min-width: 0; background: var(--paper); border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow); }
.fragrance-card-image { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; color: var(--terracotta-dark); background: linear-gradient(135deg,#efe4d9,#e2ebe4); font: 600 1.2rem Georgia,serif; }
.fragrance-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.fragrance-card:hover .fragrance-card-image img,.admin-fragrance-card:hover .fragrance-card-image img { transform: scale(1.025); }
.fragrance-card-content { padding: 1.2rem; }
.fragrance-card-content h2,.fragrance-card-content h3 { margin-bottom: .45rem; }
.fragrance-card-content h2 a,.fragrance-card-content h3 a { color: inherit; }
.fragrance-card-content > p:not(.eyebrow):not(.muted) { color: var(--muted); font-size: .88rem; line-height: 1.55; }
.fragrance-pyramid { display: grid; gap: .55rem; margin: 1rem 0; }
.fragrance-pyramid div { padding-top: .5rem; border-top: 1px solid var(--border); }
.fragrance-pyramid dt { color: var(--terracotta); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fragrance-pyramid dd { margin: .2rem 0 0; color: var(--text); font-size: .82rem; line-height: 1.4; }
.fragrance-sheet { display: grid; grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.fragrance-sheet-image { overflow: hidden; min-height: 520px; border-radius: 20px; background: linear-gradient(145deg,#eadbcf,#dce7df); box-shadow: var(--shadow); }
.fragrance-sheet-image img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.fragrance-sheet-image > div { display: grid; place-items: center; align-content: center; min-height: 520px; padding: 2rem; text-align: center; }
.fragrance-sheet-image span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fragrance-sheet-image strong { margin-top: .7rem; font: 500 2.2rem Georgia,serif; }
.fragrance-sheet-content { padding: clamp(1.5rem,3vw,2.5rem); background: var(--paper); border: 1px solid var(--border); border-radius: 20px; box-shadow: var(--shadow); }
.fragrance-sheet-content h1 { font-size: clamp(2.8rem,5vw,5rem); }
.fragrance-description { margin: 1.2rem 0 2rem; color: var(--muted); font-size: 1rem; line-height: 1.7; }
.olfactory-pyramid { display: grid; gap: .75rem; margin: 1.5rem 0 2rem; }
.pyramid-level { display: grid; grid-template-columns: 42px 1fr; gap: .8rem; align-items: center; padding: 1rem 1.1rem; border-radius: 12px; }
.pyramid-level.top { margin: 0 10%; background: #f5e9df; }
.pyramid-level.body { margin: 0 5%; background: #edf1e8; }
.pyramid-level.base { background: #e9dfd5; }
.pyramid-level > span { color: var(--terracotta); font: 500 1.15rem Georgia,serif; }
.pyramid-level small { display: block; margin-bottom: .25rem; color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pyramid-level strong { font-size: .9rem; line-height: 1.45; }
.fragrance-products { padding-top: 1.3rem; border-top: 1px solid var(--border); }
.fragrance-products h2 { font-size: 1.35rem; }
.fragrance-products > div { display: flex; flex-wrap: wrap; gap: .5rem; }
.fragrance-products a { padding: .5rem .75rem; color: var(--sage); background: #edf2ee; border-radius: 999px; font-size: .8rem; font-weight: 750; }
.product-fragrance-options { margin: 1.4rem 0; padding: 1rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fragrance-section-title { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.product-fragrance-summary { padding: .85rem 0; border-top: 1px solid var(--border); }
.product-fragrance-summary:first-of-type { border-top: 0; }
.product-fragrance-summary > div { display: flex; justify-content: space-between; gap: 1rem; }
.product-fragrance-summary em { color: var(--sage); font-size: .78rem; font-style: normal; }
.product-fragrance-summary > a { font-size: .76rem; font-weight: 750; }
.mini-pyramid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; margin: .65rem 0; }
.mini-pyramid dt { color: var(--muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.mini-pyramid dd { margin: .15rem 0 0; font-size: .72rem; line-height: 1.35; }
.admin-fragrance-card.is-inactive { opacity: .68; }
.admin-fragrance-meta { display: flex; justify-content: space-between; gap: .8rem; color: var(--terracotta); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-fragrance-meta em { color: var(--muted); font-style: normal; }
.fragrance-notes-editor { padding: 1.2rem; background: #f8f3ed; border: 1px solid var(--border); border-radius: 14px; }
.fragrance-notes-editor h2 { margin-bottom: 1rem; font-size: 1.5rem; }
.fragrance-notes-editor > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.fragrance-image-preview { display: flex; align-items: center; gap: 1rem; }
.fragrance-image-preview img { width: 130px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.product-fragrance-picker { padding-top: 1.4rem; border-top: 1px solid var(--border); }
.fragrance-checkbox-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.fragrance-checkbox { display: flex; align-items: flex-start; gap: .65rem; padding: .8rem; background: #f8f3ed; border: 1px solid var(--border); border-radius: 10px; }
.fragrance-checkbox input { width: auto; margin-top: .2rem; }
.fragrance-checkbox span { display: flex; flex-direction: column; gap: .2rem; }
.fragrance-checkbox small { color: var(--muted); }
.empty-inline { padding: 1rem; color: var(--muted); background: #f8f3ed; border-radius: 10px; }
@media(max-width:980px){.fragrance-grid,.admin-fragrance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fragrance-sheet{grid-template-columns:1fr}.fragrance-sheet-image,.fragrance-sheet-image img,.fragrance-sheet-image>div{min-height:380px}.fragrance-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.add-form.has-variants,.product-sheet-order.has-variants{grid-template-columns:1fr}.add-form.has-variants .variant-select,.product-sheet-order.has-variants .variant-select,.variant-minimum-note{grid-column:auto}.heading-actions,.fragrance-section-title{align-items:stretch;flex-direction:column}.fragrance-grid,.admin-fragrance-grid,.fragrance-notes-editor>div,.fragrance-checkbox-grid,.mini-pyramid{grid-template-columns:1fr}.pyramid-level.top,.pyramid-level.body{margin:0}}

/* Seguimiento comercial v1.9.0 */
.crm-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin:1.25rem 0; }
.crm-status { display:inline-flex; padding:.38rem .62rem; border-radius:999px; color:#58483f; background:#eee6df; font-size:.7rem; font-weight:800; white-space:nowrap; }
.crm-interested,.crm-customer { color:#315d44; background:#e3f1e8; }
.crm-follow_up { color:#785611; background:#fff1ca; }
.crm-not_interested,.crm-do_not_contact { color:#842f2f; background:#f8dddd; }
.crm-contacted { color:#3f5672; background:#e3ebf5; }
.crm-timeline em { display:block; margin-top:.35rem; color:var(--terracotta); font-size:.78rem; font-style:normal; font-weight:750; }
.document-list { display:grid; gap:.75rem; }
.document-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--border); }
.document-row:last-child { border-bottom:0; }
.document-row div { display:flex; flex-direction:column; gap:.2rem; }
.document-row small { color:var(--muted); }
@media(max-width:800px){.crm-columns{grid-template-columns:1fr}.document-row{align-items:flex-start;flex-direction:column}}

/* commercial-agenda:v1.9.4 */
.commercial-agenda{margin:1.25rem 0 1.5rem}
.agenda-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}
.agenda-stat{background:#fff;border:1px solid var(--border,#dfd1c5);border-radius:16px;padding:1rem 1.1rem;box-shadow:0 8px 24px rgba(61,43,34,.05)}
.agenda-stat span{display:block;color:var(--muted,#705f55);font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.agenda-stat strong{display:block;font-family:Georgia,serif;font-size:2rem;line-height:1;margin:.45rem 0 .35rem}
.agenda-stat small{color:var(--muted,#705f55)}
.agenda-attention{border-color:#d7b37e;background:#fffaf0}
.agenda-warning{border-color:#d8a0a0;background:#fff7f7}
.agenda-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.25rem}
.agenda-panel{padding:1.2rem}
.agenda-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.agenda-panel-heading h2{margin:.15rem 0 0}
.agenda-number{display:inline-flex;min-width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:999px;background:#eee6df;font-weight:800}
.agenda-list{display:grid}
.agenda-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--border,#eadfd6);text-decoration:none;color:inherit}
.agenda-row:first-child{border-top:0}
.agenda-row span:first-child{display:grid;gap:.18rem}
.agenda-row small{color:var(--muted,#705f55)}
.agenda-row-meta{font-size:.78rem;color:var(--muted,#705f55);white-space:nowrap}
.agenda-overdue{color:#9b4242;font-weight:750}
.agenda-interested-panel{margin-bottom:1.25rem}
.agenda-list-horizontal{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.25rem}
@media(max-width:1000px){.agenda-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-list-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.agenda-columns{grid-template-columns:1fr}.agenda-list-horizontal{grid-template-columns:1fr}}
@media(max-width:520px){.agenda-grid{grid-template-columns:1fr}.agenda-row{flex-direction:column;gap:.35rem}.agenda-row-meta{white-space:normal}}

/* contacted-email-badge:v1.9.3b */
.crm-email-sent{
    display:inline-flex;
    color:#315d44;
    background:#e3f1e8;
    font-weight:800;
}

/* seguimiento-visual:v1.9.6 */

/* Tarjetas resumen de la agenda comercial */
.commercial-agenda{
    margin:1.5rem 0;
}

.agenda-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:1rem !important;
    margin:0 0 1.35rem !important;
}

.agenda-stat{
    display:block !important;
    background:#fff !important;
    border:1px solid #dfd1c5 !important;
    border-radius:16px !important;
    padding:1.05rem 1.15rem !important;
    box-shadow:0 8px 24px rgba(61,43,34,.05) !important;
    min-height:118px;
}

.agenda-stat > span{
    display:block !important;
    color:#76665c !important;
    font-size:.75rem !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.07em !important;
    margin-bottom:.55rem !important;
}

.agenda-stat > strong{
    display:block !important;
    font-family:Georgia,serif !important;
    font-size:2.15rem !important;
    line-height:1 !important;
    color:#29231f !important;
    margin:0 0 .4rem !important;
}

.agenda-stat > small{
    display:block !important;
    color:#76665c !important;
    font-size:.82rem !important;
}

.agenda-attention{
    background:#fffaf1 !important;
    border-color:#d8b88d !important;
}

.agenda-warning{
    background:#fff7f6 !important;
    border-color:#d9aaa4 !important;
}

.agenda-columns{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1.25rem !important;
    margin-bottom:1.25rem !important;
}

.agenda-panel{
    padding:1.2rem !important;
}

.agenda-panel-heading{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:1rem !important;
}

.agenda-list{
    display:grid !important;
}

.agenda-row{
    display:flex !important;
    justify-content:space-between !important;
    gap:1rem !important;
    padding:.8rem 0 !important;
    border-top:1px solid #eadfd6 !important;
    text-decoration:none !important;
    color:inherit !important;
}

/* Estado comercial + tipo de contacto */
.crm-status{
    display:inline-flex !important;
    align-items:center !important;
    width:max-content !important;
    padding:.38rem .62rem !important;
    border-radius:999px !important;
    color:#58483f !important;
    background:#eee6df !important;
    font-size:.72rem !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.crm-customer,
.crm-interested{
    color:#315d44 !important;
    background:#e3f1e8 !important;
}

.crm-contacted{
    color:#3f5672 !important;
    background:#e3ebf5 !important;
}

.crm-email-sent{
    display:flex !important;
    width:max-content !important;
    margin:.42rem 0 0 !important;
    color:#315d44 !important;
    background:#e3f1e8 !important;
}

.crm-email-sent + small{
    display:block !important;
    margin-top:.28rem !important;
}

/* Mejor lectura de la tabla de seguimiento */
.table-wrap td{
    vertical-align:top;
}

.table-wrap td small{
    display:block;
    margin-top:.28rem;
    line-height:1.4;
}

@media(max-width:1000px){
    .agenda-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:760px){
    .agenda-columns{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:520px){
    .agenda-grid{
        grid-template-columns:1fr !important;
    }
}

/* product-gallery-internal:v1.9.9 */
body.sc-product-lightbox-open{overflow:hidden}
.sc-product-lightbox{position:fixed;inset:0;z-index:10000;display:grid;grid-template-columns:minmax(48px,1fr) minmax(0,1120px) minmax(48px,1fr);grid-template-rows:64px minmax(0,1fr) 58px;align-items:center;padding:1rem;background:rgba(24,19,16,.95);color:#fff}
.sc-product-lightbox[hidden]{display:none!important}
.sc-product-lightbox-image{grid-column:2;grid-row:2;width:100%;height:100%;max-height:calc(100vh - 155px);object-fit:contain}
.sc-product-lightbox-close,.sc-product-lightbox-prev,.sc-product-lightbox-next{border:0;color:#fff;background:rgba(255,255,255,.14);cursor:pointer}
.sc-product-lightbox-close{grid-column:3;grid-row:1;justify-self:end;width:44px;height:44px;border-radius:50%;font-size:1.7rem}
.sc-product-lightbox-prev,.sc-product-lightbox-next{grid-row:2;width:44px;height:66px;border-radius:999px;font-size:2rem}
.sc-product-lightbox-prev{grid-column:1;justify-self:start}.sc-product-lightbox-next{grid-column:3;justify-self:end}
.sc-product-lightbox-caption{grid-column:2;grid-row:3;margin:0;text-align:center;font-size:.85rem}
.product-gallery a{cursor:zoom-in}
@media(max-width:680px){.sc-product-lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:.5rem}.sc-product-lightbox-image{grid-column:1/-1}.sc-product-lightbox-prev,.sc-product-lightbox-next{z-index:1;background:rgba(0,0,0,.55)}.sc-product-lightbox-close{grid-column:3;z-index:1}}


/* special-store-pricing:v2.0.0 */
.assignment-card-price{display:flex;flex-direction:column;gap:.7rem;cursor:default}
.assignment-card-price:has(.assignment-product-check input:checked){border-color:var(--sage);background:#eff4f0}
.assignment-product-check{display:flex;flex-direction:row;align-items:flex-start;gap:.7rem;cursor:pointer}
.assignment-product-check input{width:18px;min-height:18px;margin-top:.2rem}
.assignment-product-check span{display:flex;flex-direction:column;min-width:0}
.assignment-general-price{font-size:.84rem;color:var(--muted);padding-top:.15rem;border-top:1px solid var(--border)}
.assignment-special-price{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:700;color:var(--text)}
.assignment-special-price input{width:100%;min-height:40px}
.assignment-special-note{font-size:.76rem;color:var(--muted)}

/* special-store-pricing:v2.0.1 */
.assignment-card-price{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.75rem !important;
    cursor:default !important;
}
.assignment-product-check{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    gap:.7rem !important;
    cursor:pointer !important;
}
.assignment-product-check input{
    width:18px !important;
    min-height:18px !important;
    margin-top:.2rem !important;
}
.assignment-product-check span{
    display:flex !important;
    flex-direction:column !important;
}
.assignment-general-price{
    padding-top:.65rem !important;
    border-top:1px solid var(--border) !important;
    font-size:.84rem !important;
    color:var(--muted) !important;
}
.assignment-special-price{
    display:flex !important;
    flex-direction:column !important;
    gap:.35rem !important;
    padding:.7rem !important;
    border:1px solid var(--border) !important;
    border-radius:8px !important;
    background:#fff !important;
}
.assignment-special-price strong{
    font-size:.78rem !important;
    letter-spacing:.035em !important;
}
.assignment-special-price span{
    font-size:.75rem !important;
    color:var(--muted) !important;
}
.assignment-special-price input{
    width:100% !important;
    min-height:42px !important;
    font-size:1rem !important;
}
.assignment-special-result{
    display:flex !important;
    justify-content:space-between !important;
    gap:1rem !important;
    font-size:.82rem !important;
}
.assignment-special-result strong{
    white-space:nowrap !important;
}











/* special-price-exact-width:v2.1.9 */
.assignment-card-price .assignment-special-price {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
}

.assignment-card-price .assignment-special-price input[type="number"],
.assignment-card-price input[name^="special_prices["],
input[name^="special_prices["] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
/* /special-price-exact-width:v2.1.9 */

/* admin-special-price-product-card:v2.2.0 */
.admin-product-commercial .admin-special-price-list {
    grid-column: 1 / -1;
    padding-top: .8rem;
    border-top: 1px solid var(--border);
}

.admin-product-commercial .admin-special-price-list dt {
    margin-bottom: .55rem;
}

.admin-product-commercial .admin-special-price-list dd {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin: 0;
}

.admin-special-price-row {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) auto auto;
    align-items: center;
    gap: .75rem;
    padding: .65rem .75rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #faf7f4;
    font-size: .84rem;
}

.admin-special-price-row > strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.admin-special-price-row > span {
    white-space: nowrap;
    font-weight: 700;
}

.admin-special-price-row small {
    font-weight: 400;
}

@media (max-width: 680px) {
    .admin-special-price-row {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
}
/* /admin-special-price-product-card:v2.2.0 */

/* admin-preview-price-style:v2.2.3 */
.admin-preview-price-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.admin-preview-special-price-box{
    margin-top:1rem;
    padding:1rem;
    border:1px solid var(--border);
    border-radius:10px;
    background:#faf7f4;
}
.admin-preview-special-price-title{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:baseline;
    margin-bottom:.45rem;
}
.admin-preview-special-price-title small{
    color:var(--muted);
}
.admin-preview-special-price-row{
    display:grid;
    grid-template-columns:minmax(140px,1fr) auto auto;
    gap:.8rem;
    align-items:center;
    padding:.7rem 0;
    border-top:1px solid var(--border);
}
.admin-preview-special-price-row > span{
    white-space:nowrap;
    font-size:1rem;
    font-weight:700;
}
@media(max-width:760px){
    .admin-preview-price-grid{
        grid-template-columns:1fr;
    }
    .admin-preview-special-price-row{
        grid-template-columns:1fr;
        gap:.2rem;
    }
    .admin-preview-special-price-title{
        flex-direction:column;
        gap:.2rem;
    }
}
/* /admin-preview-price-style:v2.2.3 */

/* product-designs-style:v2.3.0 */
.product-design-editor{
    padding:1rem;
    border:1px solid var(--border);
    border-radius:12px;
    background:#faf7f4;
}
.product-design-rows{
    display:flex;
    flex-direction:column;
    gap:1rem;
    margin-top:1rem;
}
.product-design-row{
    display:grid;
    grid-template-columns:minmax(220px,2fr) 90px minmax(220px,1fr);
    gap:.85rem;
    align-items:end;
    padding:1rem;
    border:1px solid var(--border);
    border-radius:10px;
    background:#fff;
}
.product-design-row .checkbox{
    align-self:center;
}
.product-design-preview{
    margin:0;
    width:80px;
    height:80px;
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--border);
}
.product-design-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.design-delete{
    color:#8b3f32;
}
.admin-design-preview-list{
    margin:.9rem 0;
    padding:.85rem 1rem;
    border:1px solid var(--border);
    border-radius:10px;
    background:#faf7f4;
}
.admin-design-preview-list > span{
    display:block;
    margin-bottom:.5rem;
    font-size:.78rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.admin-design-preview-list > div{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
}
.admin-design-preview-list > div > span{
    padding:.4rem .6rem;
    border:1px solid var(--border);
    border-radius:999px;
    background:#fff;
    font-size:.82rem;
}
.admin-design-preview-list .is-inactive{
    opacity:.55;
}
@media(max-width:800px){
    .product-design-row{
        grid-template-columns:1fr;
    }
}
/* /product-designs-style:v2.3.0 */

/* admin-design-dropdown:v2.3.1 */
.admin-design-preview-select{
    margin:1rem 0 1.25rem;
}
.admin-design-preview-select label{
    display:block;
    margin-bottom:.45rem;
    font-weight:700;
}
.admin-design-preview-select select{
    width:100%;
    min-height:48px;
    padding:.65rem .8rem;
    border:1px solid var(--border);
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font:inherit;
}
/* /admin-design-dropdown:v2.3.1 */

/* admin-preview-smaller-image:v2.3.3 */

/* SOLO la vista administrativa Productos > Ver ficha */
.admin-preview-notice + .product-sheet{
    grid-template-columns:minmax(260px, 32%) minmax(0, 1fr) !important;
    gap:2.5rem !important;
    align-items:start !important;
}

.admin-preview-notice + .product-sheet .product-gallery{
    width:100% !important;
    max-width:420px !important;
    justify-self:start !important;
}

.admin-preview-notice + .product-sheet .product-gallery .is-cover{
    display:block !important;
    width:100% !important;
}

.admin-preview-notice + .product-sheet .product-gallery .is-cover img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:420px !important;
    object-fit:contain !important;
}

.admin-preview-notice + .product-sheet .product-gallery a:not(.is-cover) img{
    max-height:120px !important;
    object-fit:cover !important;
}

@media(max-width:900px){
    .admin-preview-notice + .product-sheet{
        grid-template-columns:1fr !important;
    }

    .admin-preview-notice + .product-sheet .product-gallery{
        max-width:380px !important;
        margin:0 auto !important;
    }
}

/* /admin-preview-smaller-image:v2.3.3 */


/* product-design-thumbnail:v2.3.5 */

/* SOLO Productos > Editar > Diseños / modelos del producto */
.product-design-editor .product-design-row figure,
.product-design-editor .product-design-preview{
    width:140px !important;
    max-width:140px !important;
    height:140px !important;
    max-height:140px !important;
    margin:0 !important;
    overflow:hidden !important;
    border:1px solid var(--border) !important;
    border-radius:8px !important;
    background:#f7f3ef !important;
}

.product-design-editor .product-design-row figure img,
.product-design-editor .product-design-preview img,
.product-design-editor .product-design-row img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:140px !important;
    max-height:140px !important;
    object-fit:contain !important;
    object-position:center !important;
    margin:0 !important;
}

/* Evitar que la imagen obligue a hacer la fila enorme */
.product-design-editor .product-design-row{
    align-items:start !important;
}

/* Logo principal Sensecand */
.brand-logo {
    display: block;
    width: auto;
    height: 76px;
    max-width: 280px;
    object-fit: contain;
}

@media (max-width: 680px) {
    .brand-logo {
        height: 64px;
        max-width: 240px;
    }
}

/* /product-design-thumbnail:v2.3.5 */

/* Eliminación segura de productos Sensecand v1.0.0 */
.product-delete-link { color:#9f2929; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.admin-product-actions .product-delete-link { grid-column:1/-1; padding:.25rem; text-align:center; }
.product-delete-confirmation { max-width:720px; }
.product-delete-warning { padding:1rem 1.1rem; color:#792020; background:#fff0f0; border:1px solid #e6b6b6; border-radius:12px; }
.product-delete-warning p:last-child { margin-bottom:0; }
.product-delete-button { background:#9f2929; }
.product-delete-button:hover { background:#7f1f1f; }

/* Gestor de pósteres Sensecand v1.0.0 */
.promo-carousel { position: relative; margin: 0 0 clamp(1.8rem,4vw,3rem); }
.promo-carousel-track { overflow: hidden; border-radius: 22px; box-shadow: 0 22px 55px rgba(55,39,30,.14); }
.promo-poster { position: relative; min-height: clamp(320px,38vw,520px); overflow: hidden; background: #6d5a4e; }
.promo-poster[hidden] { display: none; }
.promo-poster picture,.promo-poster picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.promo-poster picture img { object-fit: cover; }
.promo-poster-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(34,26,21,.76) 0%,rgba(34,26,21,.46) 48%,rgba(34,26,21,.05) 78%); }
.promo-poster-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; min-height: clamp(320px,38vw,520px); max-width: 650px; padding: clamp(2rem,5vw,5rem); color: #fff; }
.promo-poster-kicker { margin: 0 0 .65rem; color: #f0cdbb; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.promo-poster-copy h2 { margin: 0 0 .65rem; color: #fff; font-size: clamp(2.7rem,5vw,5.4rem); line-height: .98; text-shadow: 0 2px 16px rgba(0,0,0,.2); }
.promo-poster-copy > p:not(.promo-poster-kicker) { max-width: 560px; margin: 0 0 1.35rem; color: rgba(255,255,255,.9); font-size: clamp(.98rem,1.7vw,1.22rem); line-height: 1.55; }
.promo-poster-button { align-self: flex-start; color: #3e3028; background: #fff8f0; }
.promo-poster-button:hover { color: #3e3028; background: #fff; }
.promo-carousel-controls { position: absolute; z-index: 3; right: 1.15rem; bottom: 1.15rem; display: flex; align-items: center; gap: .55rem; padding: .45rem .55rem; background: rgba(34,26,21,.65); border-radius: 999px; backdrop-filter: blur(8px); }
.promo-carousel-controls > button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; color: #fff; background: transparent; border: 0; border-radius: 50%; font-size: 1.55rem; cursor: pointer; }
.promo-carousel-dots { display: flex; gap: .38rem; }
.promo-carousel-dots button { width: 8px; height: 8px; padding: 0; background: rgba(255,255,255,.45); border: 0; border-radius: 50%; cursor: pointer; }
.promo-carousel-dots button.is-active { width: 22px; background: #fff; border-radius: 999px; }
.poster-admin-layout { display: grid; grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr); gap: 1.4rem; align-items: start; }
.poster-admin-form { position: sticky; top: 1rem; }
.poster-admin-form > h2 { margin-bottom: .2rem; }
.poster-active-check { align-self: end; min-height: 46px; }
.poster-current-image { margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; }
.poster-current-image img { width: 100%; aspect-ratio: 16/7; object-fit: cover; }
.poster-current-image.is-mobile img { aspect-ratio: 4/5; }
.poster-current-image figcaption { padding: .55rem .7rem; color: var(--muted); font-size: .75rem; }
.poster-admin-list { display: grid; gap: 1rem; }
.poster-admin-card { display: grid; grid-template-columns: minmax(180px,.72fr) minmax(0,1.28fr); overflow: hidden; background: var(--paper); border: 1px solid var(--border); border-radius: 17px; box-shadow: var(--shadow); }
.poster-admin-thumb { display: grid; place-items: center; min-height: 210px; color: var(--muted); background: #ece3da; }
.poster-admin-thumb img { width: 100%; height: 100%; object-fit: cover; }
.poster-admin-card-copy { min-width: 0; padding: 1.1rem; }
.poster-admin-card-state { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.poster-admin-card-state small { color: var(--muted); }
.poster-admin-card-copy h3 { margin: .7rem 0 .35rem; font-size: 1.55rem; }
.poster-admin-card-copy > p { display: -webkit-box; overflow: hidden; color: var(--muted); font-size: .88rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.poster-admin-actions { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-top: 1rem; }
.poster-admin-actions form { margin: 0; }
.poster-delete-details { margin-top: .85rem; color: var(--muted); font-size: .8rem; }
.poster-delete-details summary { cursor: pointer; }
.poster-delete-details form { margin-top: .65rem; padding: .8rem; background: #fff7f5; border: 1px solid #ead0ca; border-radius: 10px; }
.link-button.danger { color: #9c4037; }
@media(max-width:980px){.poster-admin-layout{grid-template-columns:1fr}.poster-admin-form{position:static}.poster-admin-card{grid-template-columns:220px 1fr}}
@media(max-width:680px){.promo-carousel-track{border-radius:16px}.promo-poster{min-height:520px}.promo-poster-shade{background:linear-gradient(0deg,rgba(34,26,21,.8) 0%,rgba(34,26,21,.42) 62%,rgba(34,26,21,.08) 100%)}.promo-poster-copy{justify-content:flex-end;min-height:520px;padding:1.5rem 1.25rem 4.7rem}.promo-poster-copy h2{font-size:clamp(2.4rem,13vw,4rem)}.promo-carousel-controls{right:50%;transform:translateX(50%)}.poster-admin-card{grid-template-columns:1fr}.poster-admin-thumb{aspect-ratio:16/8;min-height:0}}

/* catalog-general-prices:v1.0.0 */
.product-card-summary {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: .35rem;
    color: var(--muted);
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.product-card-read-more {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 1rem;
    color: var(--terracotta);
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
}
.product-card-read-more:hover { text-decoration: underline; }
.product-grid.has-one {
    grid-template-columns: minmax(0, 920px);
    justify-content: center;
}
.product-grid.has-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 761px) {
    .product-grid.has-one .product-card {
        display: grid;
        grid-template-columns: minmax(280px, 42%) minmax(0, 1fr);
    }
    .product-grid.has-one .product-image {
        height: 100%;
        min-height: 460px;
        aspect-ratio: auto;
    }
}
@media (max-width: 760px) {
    .product-grid.has-two { grid-template-columns: 1fr; }
}

/* catalog-category-sidebar:v1.0.0 */
html { scroll-behavior: smooth; }
.catalog-browser {
    display: grid;
    grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
    align-items: start;
    gap: clamp(1.25rem, 3vw, 2.4rem);
}
.catalog-sidebar {
    position: sticky;
    top: 100px;
    padding: 1.15rem;
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.catalog-sidebar .eyebrow { margin-bottom: .25rem; }
.catalog-sidebar h2 { margin: 0 0 1rem; font-size: 1.45rem; }
.catalog-sidebar nav { display: grid; gap: .35rem; }
.catalog-sidebar a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding: .72rem .78rem;
    color: inherit;
    border-radius: 10px;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}
.catalog-sidebar a:hover,
.catalog-sidebar a:focus-visible {
    color: #fff;
    background: var(--terracotta);
}
.catalog-sidebar small {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 .35rem;
    color: var(--muted);
    background: #f1e8df;
    border-radius: 999px;
    font-size: .74rem;
}
.catalog-sidebar a:hover small,
.catalog-sidebar a:focus-visible small { color: var(--terracotta); background: #fff; }
.catalog-category-list { min-width: 0; }
.catalog-category-list .catalog-section { scroll-margin-top: 110px; }
.catalog-category-list .catalog-section:target {
    padding-top: .9rem;
    outline: 2px solid rgba(170, 102, 81, .22);
    outline-offset: .55rem;
    border-radius: var(--radius);
}
@media (max-width: 900px) {
    .catalog-browser { display: block; }
    .catalog-sidebar {
        z-index: 12;
        top: 72px;
        margin-bottom: 1.5rem;
        padding: .7rem;
        overflow: hidden;
    }
    .catalog-sidebar .eyebrow,
    .catalog-sidebar h2 { display: none; }
    .catalog-sidebar nav {
        display: flex;
        gap: .45rem;
        overflow-x: auto;
        padding-bottom: .15rem;
        scrollbar-width: thin;
    }
    .catalog-sidebar a {
        flex: 0 0 auto;
        padding: .58rem .7rem;
        background: #f7f1eb;
        border: 1px solid var(--border);
    }
    .catalog-sidebar small { min-width: 1.45rem; height: 1.45rem; }
    .catalog-category-list .catalog-section { scroll-margin-top: 155px; }
}

/* catalog-category-dropdown:v1.0.0 */
.catalog-sidebar nav { display: none; }
.catalog-category-field { display: grid; gap: .45rem; }
.catalog-category-field > span { color: var(--muted); font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.catalog-category-field select {
    width: 100%;
    min-height: 46px;
    padding: .72rem 2.4rem .72rem .78rem;
    color: inherit;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 10px;
    font-family: inherit;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
}
.catalog-category-help { margin: .7rem 0 0; color: var(--muted); font-size: .8rem; }
.catalog-category-list .catalog-section[data-catalog-category] { display: none; }
.catalog-category-list .catalog-section[data-catalog-category].is-active { display: block; }
.catalog-category-list .catalog-section:target {
    padding-top: 0;
    outline: 0;
    outline-offset: 0;
}
@media (max-width: 900px) {
    .catalog-sidebar { position: sticky; top: 72px; padding: .8rem; }
    .catalog-sidebar .eyebrow { display: none; }
    .catalog-sidebar h2 { display: block; margin: 0 0 .55rem; font-size: 1.12rem; }
    .catalog-category-help { display: none; }
}

/* compact-catalog-cards:v1.0.0 */
.catalog-browser {
    grid-template-columns: minmax(270px, 300px) minmax(0, 1fr);
}
.catalog-sidebar { padding: 1.3rem; }
.catalog-category-field > span { font-size: .8rem; }
.catalog-category-field select {
    min-height: 56px;
    padding: .85rem 2.7rem .85rem .9rem;
    font-size: 1rem;
}
.catalog-category-list .product-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    align-items: start;
    gap: 1rem;
}
.catalog-category-list .product-card { height: auto; }
.catalog-category-list .product-image { aspect-ratio: 16 / 10; }
.catalog-category-list .product-content { padding: 1rem; }
.catalog-category-list .product-content h3 { margin-bottom: .45rem; }
.catalog-category-list .product-data {
    margin: .15rem 0 .8rem;
    padding-top: .65rem;
}
.catalog-category-list .price-row { margin-bottom: .8rem; }
.catalog-category-list .product-card-open {
    width: 100%;
    margin-top: auto;
    padding: .72rem .75rem;
    text-align: center;
    font-size: .82rem;
}
@media (max-width: 1100px) {
    .catalog-browser { grid-template-columns: minmax(230px, 270px) minmax(0, 1fr); }
}
@media (max-width: 900px) {
    .catalog-browser { display: block; }
    .catalog-sidebar { width: min(100%, 560px); }
    .catalog-category-field select { font-size: 1rem; }
    .catalog-category-list .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .catalog-sidebar { width: 100%; }
    .catalog-category-list .product-grid { grid-template-columns: 1fr; }
}

/* visible-category-panel:v1.0.0 */
.catalog-browser {
    grid-template-columns: minmax(270px, 300px) minmax(0, 1fr);
}
.catalog-sidebar {
    max-height: calc(100vh - 120px);
    overflow-y: auto;
    padding: 1.3rem;
}
.catalog-sidebar .catalog-category-field,
.catalog-sidebar .catalog-category-help { display: none; }
.catalog-sidebar nav.catalog-category-nav {
    display: grid;
    gap: .4rem;
}
.catalog-sidebar .catalog-category-nav a {
    min-height: 48px;
    padding: .72rem .8rem;
    border: 1px solid transparent;
}
.catalog-sidebar .catalog-category-nav a.is-active {
    color: #fff;
    background: var(--terracotta);
    border-color: var(--terracotta);
}
.catalog-sidebar .catalog-category-nav a.is-active small {
    color: var(--terracotta);
    background: #fff;
}
.catalog-category-list .product-grid,
.catalog-category-list .product-grid.has-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem;
}
@media (max-width: 900px) {
    .catalog-browser { display: block; }
    .catalog-sidebar {
        width: 100%;
        max-height: none;
        overflow: hidden;
    }
    .catalog-sidebar .eyebrow,
    .catalog-sidebar h2 { display: block; }
    .catalog-sidebar nav.catalog-category-nav {
        display: flex;
        gap: .5rem;
        overflow-x: auto;
        padding-bottom: .25rem;
    }
    .catalog-sidebar .catalog-category-nav a { flex: 0 0 auto; }
}
@media (max-width: 680px) {
    .catalog-category-list .product-grid,
    .catalog-category-list .product-grid.has-two { grid-template-columns: 1fr; }
}

/* slim-promo-banner:v1.0.0 */
.promo-carousel {
    margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}
.promo-carousel-track {
    overflow: hidden;
}
.promo-poster {
    width: 100%;
    min-height: 0 !important;
    aspect-ratio: 3 / 1;
}
.promo-poster picture,
.promo-poster picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.promo-poster picture img {
    object-fit: cover;
    object-position: center;
}
/* La creatividad ya contiene sus propios textos. */
.promo-poster-shade,
.promo-poster-copy {
    display: none !important;
}
@media (max-width: 680px) {
    .promo-poster {
        min-height: 0 !important;
        aspect-ratio: 16 / 9;
    }
    .promo-poster picture img {
        object-position: center;
    }
}

/* purchase-below-photos:v1.0.0 */
.purchase-below-photos-v1 {
    align-items: start;
}
.product-sheet-left {
    display: grid;
    min-width: 0;
    gap: 1.15rem;
}
.product-purchase-panel {
    padding: 1.2rem;
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow);
}
.product-purchase-panel .product-sheet-price {
    margin: 0;
}
.product-purchase-panel .product-sheet-order {
    margin-top: 1rem;
}
.purchase-below-photos-v1 > .product-sheet-content {
    position: static;
}
@media (max-width: 980px) {
    .purchase-below-photos-v1 {
        grid-template-columns: 1fr;
    }
    .product-sheet-left {
        width: 100%;
    }
}
@media (max-width: 680px) {
    .product-purchase-panel {
        padding: 1rem;
        border-radius: 15px;
    }
}

/* client-tax-price:v1.0.0 */
.product-sheet-price.has-client-tax {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}
.product-sheet-price.has-client-tax .client-tax-total {
    padding: .75rem;
    color: #334139;
    background: #f8f2ec;
    border-radius: 10px;
}
.product-sheet-price.has-client-tax .client-tax-total small,
.product-sheet-price.has-client-tax .client-tax-total span {
    color: #66594f;
}
.product-sheet-price.has-client-tax .client-tax-total strong {
    color: #9f5f4c;
}
@media (max-width: 1180px) {
    .product-sheet-price.has-client-tax {
        grid-template-columns: 1fr;
    }
}

/* compact-fragrance-library:v1.0.0 */
.fragrance-library-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    align-items: start;
    margin: 2rem 0 3rem;
}
.fragrance-library-grid .fragrance-card {
    height: 100%;
}
.fragrance-library-grid .fragrance-card-content {
    display: flex;
    flex-direction: column;
}
.fragrance-library-grid .fragrance-card-content > p:not(.eyebrow) {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.fragrance-library-grid .fragrance-pyramid dd {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.fragrance-library-grid .product-detail-link {
    margin-top: auto;
}
@media (max-width: 980px) {
    .fragrance-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .fragrance-library-grid { grid-template-columns: 1fr; }
}

/* packaging-library:v1.0.0 */
.packaging-logo-panel{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:1.25rem;align-items:center;margin-bottom:1.5rem}.packaging-logo-panel h2{margin:.1rem 0 .5rem}.packaging-logo-panel p{margin:.2rem 0 .45rem;color:var(--muted)}.packaging-logo-panel>figure{display:grid;place-items:center;height:110px;margin:0;padding:.8rem;background:#faf7f3;border:1px solid var(--border);border-radius:12px}.packaging-logo-panel>figure img{width:100%;height:100%;object-fit:contain}.packaging-logo-upload,.packaging-logo-actions{display:grid;gap:.65rem}.packaging-logo-upload label{font-size:.8rem}.packaging-logo-actions form{margin:0}.packaging-logo-actions .button{display:block}.packaging-category-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.6rem}.packaging-category-nav a{padding:.65rem 1rem;color:var(--ink);background:var(--paper);border:1px solid var(--border);border-radius:999px;text-decoration:none;font-weight:750}.packaging-category{margin:0 0 2.2rem;scroll-margin-top:1rem}.packaging-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.packaging-card{display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.packaging-card-image{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#eee7e0}.packaging-card-image img{width:100%;height:100%;object-fit:cover}.packaging-card-image span{position:absolute;right:.65rem;bottom:.65rem;padding:.35rem .55rem;color:#fff;background:rgba(80,58,48,.82);border-radius:999px;font-size:.7rem;font-weight:800}.packaging-card-copy{display:flex;flex:1;flex-direction:column;padding:1rem}.packaging-card-copy h3{margin:0 0 .35rem;font-size:1.4rem}.packaging-card-copy>p{display:-webkit-box;overflow:hidden;margin:.1rem 0 .9rem;color:var(--muted);font-size:.88rem;-webkit-box-orient:vertical;-webkit-line-clamp:3}.packaging-card-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto}.packaging-card-actions .button{padding:.7rem .85rem;font-size:.78rem}.packaging-admin-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:1.4rem;align-items:start}.packaging-admin-form{position:sticky;top:1rem}.packaging-measures{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.packaging-personalize-settings{display:grid;gap:.75rem;padding:1rem;background:#f8f3ee;border:1px solid var(--border);border-radius:12px}.packaging-admin-list{display:grid;gap:1rem}.packaging-admin-card{display:grid;grid-template-columns:210px minmax(0,1fr);overflow:hidden;background:var(--paper);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.packaging-admin-card>img{width:100%;height:100%;min-height:190px;object-fit:cover}.packaging-admin-card>div{padding:1rem}.packaging-admin-card h3{margin:.2rem 0 .35rem;font-size:1.45rem}.packaging-admin-card p:not(.eyebrow){margin:.2rem 0 .7rem;color:var(--muted);font-size:.87rem}.packaging-admin-card small{display:block;color:var(--muted);line-height:1.5}.packaging-admin-actions{display:flex;gap:.8rem;align-items:center;margin-top:.9rem}.packaging-admin-actions form{margin:0}
@media(max-width:980px){.packaging-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.packaging-admin-layout{grid-template-columns:1fr}.packaging-admin-form{position:static}.packaging-logo-panel{grid-template-columns:1fr 160px}}
@media(max-width:680px){.packaging-logo-panel{grid-template-columns:1fr}.packaging-logo-panel>figure{width:100%}.packaging-grid{grid-template-columns:1fr}.packaging-admin-card{grid-template-columns:1fr}.packaging-admin-card>img{aspect-ratio:3/2;min-height:0}.packaging-measures{grid-template-columns:1fr}}

/* single-product-category-fix:v1.0.0 */
/*
 * Una categoría con un único producto debe ocupar todo el ancho
 * disponible de la zona de catálogo. Esta regla corrige el conflicto
 * con la cuadrícula general de 2 columnas.
 */
.catalog-category-list .product-grid.has-one {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    max-width: none;
}

@media (min-width: 901px) {
    .catalog-category-list .product-grid.has-one .product-card {
        display: grid;
        grid-template-columns: minmax(320px, 46%) minmax(360px, 1fr);
        width: 100%;
        max-width: none;
        min-width: 0;
        align-items: stretch;
    }

    .catalog-category-list .product-grid.has-one .product-image {
        width: 100%;
        height: 100%;
        min-height: 480px;
        aspect-ratio: auto;
    }

    .catalog-category-list .product-grid.has-one .product-content {
        min-width: 0;
        padding: 1.35rem;
    }

    .catalog-category-list .product-grid.has-one .price-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(145px, auto);
        align-items: end;
        gap: 1.25rem;
    }

    .catalog-category-list .product-grid.has-one .price-row > div,
    .catalog-category-list .product-grid.has-one .rrp {
        min-width: 0;
    }

    .catalog-category-list .product-grid.has-one .rrp {
        text-align: right;
    }

    .catalog-category-list .product-grid.has-one .product-card-open {
        width: 100%;
    }
}

@media (max-width: 900px) {
    .catalog-category-list .product-grid.has-one {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .catalog-category-list .product-grid.has-one .product-card {
        display: flex;
        flex-direction: column;
    }

    .catalog-category-list .product-grid.has-one .product-image {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 680px) {
    .catalog-category-list .product-grid.has-one .price-row {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
    }
}

/* catalog-same-card-size:v1.0.0 */
/*
 * Las categorías con 1 producto usan el MISMO tamaño y formato
 * que las categorías con 2 productos.
 */
@media (min-width: 681px) {
    .catalog-category-list .product-grid.has-one {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        justify-content: initial !important;
        width: 100% !important;
        max-width: none !important;
    }

    .catalog-category-list .product-grid.has-one .product-card {
        display: flex !important;
        flex-direction: column !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
    }

    .catalog-category-list .product-grid.has-one .product-image {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
    }

    .catalog-category-list .product-grid.has-one .product-content {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        padding: 1rem !important;
    }

    .catalog-category-list .product-grid.has-one .product-data {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .catalog-category-list .product-grid.has-one .price-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-end !important;
        gap: 1rem !important;
        grid-template-columns: none !important;
    }

    .catalog-category-list .product-grid.has-one .rrp {
        text-align: right !important;
    }

    .catalog-category-list .product-grid.has-one .product-card-open {
        width: 100% !important;
        margin-top: auto !important;
    }
}

@media (max-width: 680px) {
    .catalog-category-list .product-grid.has-one {
        grid-template-columns: 1fr !important;
    }

    .catalog-category-list .product-grid.has-one .product-card {
        display: flex !important;
        flex-direction: column !important;
    }

    .catalog-category-list .product-grid.has-one .product-image {
        aspect-ratio: 16 / 10 !important;
        height: auto !important;
        min-height: 0 !important;
    }
}

/* mobile-categories-vertical:v1.0.0 */
@media (max-width: 900px) {
    .catalog-sidebar {
        width: 100%;
        max-height: none;
        overflow: visible;
    }

    .catalog-sidebar nav.catalog-category-nav {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .45rem !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    .catalog-sidebar .catalog-category-nav a {
        width: 100%;
        flex: none !important;
        min-height: 46px;
        justify-content: space-between;
        padding: .7rem .8rem;
    }
}

@media (max-width: 680px) {
    .catalog-sidebar {
        padding: .85rem;
    }

    .catalog-sidebar .catalog-category-nav a {
        font-size: .92rem;
    }
}

/* mobile-categories-no-overlap:v1.0.0 */
@media (max-width: 900px) {
    .catalog-browser {
        display: block !important;
    }

    .catalog-sidebar {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
        width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 0 1.25rem 0 !important;
        padding: .85rem !important;
    }

    .catalog-sidebar nav.catalog-category-nav {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .45rem !important;
        overflow: visible !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .catalog-sidebar .catalog-category-nav a {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        position: static !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    .catalog-category-list {
        position: relative !important;
        z-index: 1 !important;
        clear: both !important;
        width: 100% !important;
        margin-top: 0 !important;
    }

    .catalog-category-list .catalog-section {
        position: relative !important;
        z-index: 1 !important;
    }
}

/* scroll-top-button:v1.0.0 */
.scroll-top-button {
    position: fixed;
    right: 18px;
    bottom: 22px;
    z-index: 90;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: var(--terracotta);
    box-shadow: 0 8px 22px rgba(0,0,0,.18);
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.scroll-top-button.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-top-button:hover,
.scroll-top-button:focus-visible {
    filter: brightness(.95);
}

@media (max-width: 680px) {
    .scroll-top-button {
        right: 14px;
        bottom: 16px;
        width: 46px;
        height: 46px;
        font-size: 22px;
    }
}

/* home-mobile-banner-polish:v1.0.0 */
@media (max-width: 780px) {
    .promo-carousel {
        margin: 0 0 1.25rem 0 !important;
    }

    .promo-carousel-track {
        overflow: hidden;
        border-radius: 1.35rem;
    }

    .promo-poster {
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
        border-radius: 1.35rem !important;
        overflow: hidden !important;
    }

    .promo-poster picture,
    .promo-poster picture img,
    .promo-poster > img {
        width: 100% !important;
        height: 100% !important;
    }

    .promo-poster picture img,
    .promo-poster > img {
        object-fit: cover !important;
        object-position: left center !important;
        display: block;
    }

    .promo-carousel-controls {
        bottom: .85rem !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        padding: .45rem .8rem !important;
        border-radius: 999px !important;
        background: rgba(92, 52, 33, .82) !important;
        backdrop-filter: blur(4px);
    }

    .promo-carousel-controls button {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
    }

    .promo-carousel-dots {
        gap: .35rem !important;
    }

    .promo-carousel-dots button {
        width: 9px !important;
        height: 9px !important;
    }

    .professional-home,
    .home-hero,
    .home-hero-copy {
        gap: 1rem !important;
    }

    .home-hero {
        display: block !important;
        padding: 0 !important;
        margin-top: .25rem !important;
    }

    .home-hero-copy {
        max-width: none !important;
    }

    .home-hero .eyebrow,
    .professional-home .eyebrow {
        margin-bottom: .4rem !important;
        letter-spacing: .12em !important;
    }

    .home-hero h1,
    .professional-home h1 {
        font-size: clamp(2rem, 9vw, 3rem) !important;
        line-height: 1.04 !important;
        margin: 0 0 .7rem !important;
    }

    .home-lead,
    .home-hero-copy p {
        font-size: 1rem !important;
        line-height: 1.55 !important;
        margin-bottom: 1rem !important;
    }

    .home-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        align-items: stretch !important;
        margin-top: 1rem !important;
    }

    .home-actions .button,
    .home-actions .button-secondary {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        min-height: 52px !important;
    }
}

@media (max-width: 520px) {
    .promo-poster {
        aspect-ratio: 6 / 5 !important;
    }

    .promo-poster picture img,
    .promo-poster > img {
        object-position: left center !important;
    }

    .promo-carousel-controls {
        bottom: .7rem !important;
        padding: .35rem .65rem !important;
    }

    .home-hero h1,
    .professional-home h1 {
        font-size: clamp(1.9rem, 10.5vw, 2.7rem) !important;
    }

    .home-lead,
    .home-hero-copy p {
        font-size: .98rem !important;
    }
}

/* banner-mobile-full-image:v1.0.0 */
@media (max-width: 780px) {
    .promo-carousel-track {
        border-radius: 16px !important;
        overflow: hidden !important;
        background: #f3ece6 !important;
    }

    .promo-poster {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: auto !important;
        background: #f3ece6 !important;
        overflow: hidden !important;
    }

    .promo-poster picture {
        position: static !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
    }

    .promo-poster picture img,
    .promo-poster > img {
        position: static !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    .promo-poster-shade,
    .promo-poster-copy {
        display: none !important;
    }

    .promo-carousel-controls {
        left: 50% !important;
        right: auto !important;
        bottom: .7rem !important;
        transform: translateX(-50%) !important;
        padding: .35rem .6rem !important;
        background: rgba(77,48,34,.78) !important;
        border-radius: 999px !important;
    }

    .promo-carousel-controls > button {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        font-size: 1.2rem !important;
    }

    .promo-carousel-dots button {
        width: 7px !important;
        height: 7px !important;
    }

    .promo-carousel-dots button.is-active {
        width: 18px !important;
    }
}

/* final-mobile-polish:v1.0.0 */
@media (max-width: 780px) {

    /* Banner: mantener imagen completa y liberar el centro */
    .promo-carousel {
        margin-bottom: 1rem !important;
    }

    .promo-carousel-controls {
        left: auto !important;
        right: .65rem !important;
        bottom: .55rem !important;
        transform: none !important;
        gap: .28rem !important;
        padding: .28rem .42rem !important;
        background: rgba(72,45,31,.72) !important;
    }

    .promo-carousel-controls > button {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        font-size: 1rem !important;
    }

    .promo-carousel-dots {
        gap: .25rem !important;
    }

    .promo-carousel-dots button {
        width: 6px !important;
        height: 6px !important;
    }

    .promo-carousel-dots button.is-active {
        width: 14px !important;
    }

    /* Cabecera del catálogo */
    .page-heading.split-heading {
        display: block !important;
        margin-top: 0 !important;
        margin-bottom: 1.2rem !important;
    }

    .page-heading.split-heading h1 {
        margin-bottom: .65rem !important;
        font-size: clamp(2.15rem, 10vw, 3rem) !important;
        line-height: 1.02 !important;
    }

    .page-heading.split-heading > div:first-child > p:last-child {
        margin-bottom: 1rem !important;
        font-size: 1rem !important;
        line-height: 1.5 !important;
    }

    .heading-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .65rem !important;
        margin-top: .8rem !important;
    }

    .heading-actions .button {
        width: 100% !important;
        min-height: 48px !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /* Menos hueco antes de categorías */
    .catalog-browser {
        margin-top: .6rem !important;
    }

    .catalog-sidebar {
        margin-top: 0 !important;
    }

    /* Menú superior: que todos los accesos puedan verse */
    .main-nav {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: .2rem !important;
        padding-bottom: .3rem !important;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .main-nav > a {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 520px) {
    .site-header {
        padding-bottom: .7rem !important;
    }

    .page-heading.split-heading h1 {
        font-size: clamp(2rem, 11vw, 2.7rem) !important;
    }

    .heading-actions .button {
        min-height: 46px !important;
    }
}

/* carousel-controls-below:v1.0.0 */
.promo-carousel {
    padding-bottom: 3.4rem !important;
}

.promo-carousel-controls {
    top: auto !important;
    bottom: 0 !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    background: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    padding: .45rem .65rem !important;
    gap: .45rem !important;
}

.promo-carousel-controls > button {
    color: var(--terracotta) !important;
    background: #fff !important;
    border: 1px solid var(--border) !important;
    box-shadow: 0 4px 12px rgba(55,39,30,.08) !important;
}

.promo-carousel-dots button {
    background: #d9c9bf !important;
}

.promo-carousel-dots button.is-active {
    background: var(--terracotta) !important;
}

@media (max-width: 780px) {
    .promo-carousel {
        padding-bottom: 3rem !important;
        margin-bottom: .75rem !important;
    }

    .promo-carousel-controls {
        bottom: 0 !important;
        padding: .35rem .55rem !important;
        gap: .35rem !important;
    }

    .promo-carousel-controls > button {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        font-size: 1.05rem !important;
    }
}

/* mobile-single-category-select:v1.0.0 */
.catalog-mobile-category-field {
    display: none;
}

@media (max-width: 900px) {
    .catalog-sidebar {
        position: static !important;
        width: 100% !important;
        margin-bottom: 1rem !important;
        padding: .85rem !important;
        overflow: visible !important;
    }

    .catalog-sidebar .catalog-category-nav {
        display: none !important;
    }

    .catalog-mobile-category-field {
        display: grid !important;
        gap: .4rem;
    }

    .catalog-mobile-category-field > span {
        color: var(--muted);
        font-size: .78rem;
        font-weight: 800;
        letter-spacing: .05em;
        text-transform: uppercase;
    }

    .catalog-mobile-category-field select {
        width: 100%;
        min-height: 50px;
        padding: .75rem 2.5rem .75rem .85rem;
        color: inherit;
        background: #fff;
        border: 1px solid var(--border);
        border-radius: 10px;
        font: inherit;
        font-weight: 700;
    }

    .catalog-category-list {
        width: 100% !important;
        clear: both !important;
    }

    .catalog-category-list .catalog-section[data-catalog-category] {
        display: none !important;
    }

    .catalog-category-list .catalog-section[data-catalog-category].is-active {
        display: block !important;
    }
}

/* hide-mobile-category-list:v1.0.0 */
@media (max-width: 900px) {
    .catalog-sidebar nav.catalog-category-nav {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .catalog-sidebar .catalog-mobile-category-field {
        display: grid !important;
        visibility: visible !important;
        height: auto !important;
    }
}

/* client-special-collections:v1.0.0 */
.client-special-collections {
    margin: 0 0 1.25rem;
    padding: 1rem;
    background: var(--paper);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.client-special-collections-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: .8rem;
}

.client-special-collections-head h2 {
    margin: .15rem 0 0;
    font-size: 1.45rem;
}

.client-special-clear {
    color: var(--terracotta);
    font-size: .86rem;
    font-weight: 800;
    text-decoration: none;
}

.client-special-collection-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: .7rem;
}

.client-special-collection {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-height: 82px;
    padding: 1rem;
    color: #342b26;
    background: #f8f3ee;
    border: 1px solid var(--border);
    border-radius: 13px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.client-special-collection:hover,
.client-special-collection:focus-visible {
    transform: translateY(-1px);
    border-color: var(--terracotta);
    box-shadow: 0 8px 20px rgba(55,39,30,.08);
}

.client-special-collection.is-halloween {
    background: linear-gradient(135deg, #fff4e8, #f7e5d4);
}

.client-special-collection.is-christmas {
    background: linear-gradient(135deg, #f4f6f1, #e8efe6);
}

.client-special-collection.is-active {
    color: #fff;
    background: var(--terracotta);
    border-color: var(--terracotta);
}

.client-special-collection-title {
    font-family: Georgia, serif;
    font-size: 1.18rem;
    font-weight: 700;
}

.client-special-collection small {
    color: inherit;
    opacity: .78;
    font-weight: 700;
}

@media (max-width: 680px) {
    .client-special-collections {
        margin-bottom: .9rem;
        padding: .85rem;
    }

    .client-special-collections-head {
        align-items: flex-start;
    }

    .client-special-collections-head h2 {
        font-size: 1.28rem;
    }

    .client-special-collection-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
    }

    .client-special-collection {
        min-height: 72px;
        padding: .8rem;
    }

    .client-special-collection-title {
        font-size: 1.03rem;
    }

    .client-special-collection small {
        font-size: .76rem;
    }
}

@media (max-width: 420px) {
    .client-special-collection-links {
        grid-template-columns: 1fr;
    }
}

/* special-price-product-image:v1.0.0 */
.assignment-product-with-image{
    display:flex;
    align-items:center;
    gap:.85rem;
}
.assignment-product-thumb{
    width:72px;
    height:72px;
    flex:0 0 72px;
    border:1px solid rgba(90,70,55,.14);
    border-radius:12px;
    overflow:hidden;
    background:#f7f3ef;
    display:flex;
    align-items:center;
    justify-content:center;
}
.assignment-product-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.assignment-product-thumb span{
    font-size:.72rem;
    color:#8b8178;
    text-align:center;
    padding:.35rem;
}
.assignment-product-copy{
    min-width:0;
}
.assignment-product-copy strong,
.assignment-product-copy small{
    display:block;
}
.assignment-product-copy strong{
    line-height:1.25;
}
.assignment-product-copy small{
    margin-top:.2rem;
}
@media(max-width:680px){
    .assignment-product-thumb{
        width:64px;
        height:64px;
        flex-basis:64px;
    }
}

/* special-price-product-image-fix:v1.1.0 */
.assignment-card-price .assignment-product-with-image{
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) !important;
    align-items:center !important;
    gap:.85rem !important;
    width:100% !important;
}

.assignment-card-price .assignment-product-thumb{
    display:block !important;
    width:88px !important;
    height:88px !important;
    min-width:88px !important;
    max-width:88px !important;
    min-height:88px !important;
    max-height:88px !important;
    overflow:hidden !important;
    border:1px solid var(--border) !important;
    border-radius:10px !important;
    background:#f7f3ef !important;
}

.assignment-card-price .assignment-product-thumb img{
    display:block !important;
    width:88px !important;
    height:88px !important;
    min-width:88px !important;
    max-width:88px !important;
    min-height:88px !important;
    max-height:88px !important;
    object-fit:cover !important;
    object-position:center !important;
}

.assignment-card-price .assignment-product-copy{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    width:100% !important;
}

.assignment-card-price .assignment-product-copy strong{
    display:block !important;
    font-size:1rem !important;
    line-height:1.25 !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
}

.assignment-card-price .assignment-product-copy small{
    display:block !important;
    margin-top:.25rem !important;
    line-height:1.35 !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
}

@media(max-width:980px){
    .assignment-card-price .assignment-product-with-image{
        grid-template-columns:76px minmax(0,1fr) !important;
    }

    .assignment-card-price .assignment-product-thumb,
    .assignment-card-price .assignment-product-thumb img{
        width:76px !important;
        height:76px !important;
        min-width:76px !important;
        max-width:76px !important;
        min-height:76px !important;
        max-height:76px !important;
    }
}

@media(max-width:680px){
    .assignment-card-price .assignment-product-with-image{
        grid-template-columns:70px minmax(0,1fr) !important;
    }

    .assignment-card-price .assignment-product-thumb,
    .assignment-card-price .assignment-product-thumb img{
        width:70px !important;
        height:70px !important;
        min-width:70px !important;
        max-width:70px !important;
        min-height:70px !important;
        max-height:70px !important;
    }
}
/* /special-price-product-image-fix:v1.1.0 */

/* sensecand-photo-library:v2.0.0 */
.client-photo-admin-layout{
    display:grid;
    grid-template-columns:minmax(280px,360px) minmax(0,1fr);
    gap:1.25rem;
    align-items:start;
}
.client-photo-admin-layout > form{
    position:sticky;
    top:1rem;
}
.admin-client-photo-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.admin-client-photo-card{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:1rem;
    align-items:start;
}
.admin-client-photo-card > img{
    display:block;
    width:150px;
    height:150px;
    object-fit:cover;
    border-radius:10px;
    background:#f5f1ed;
}
.admin-client-photo-card h3{
    margin:.1rem 0 .25rem;
}
.admin-client-photo-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
    align-items:center;
    margin-top:.8rem;
}
.admin-client-photo-actions form{
    margin:0;
}
.client-photo-library{
    display:grid;
    gap:1.25rem;
}
.client-photo-product-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}
.client-photo-product-head h2{
    margin:.1rem 0;
}
.client-photo-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.85rem;
}
.client-photo-card{
    display:flex;
    flex-direction:column;
    gap:.65rem;
    min-width:0;
}
.client-photo-image{
    display:block;
    aspect-ratio:1/1;
    overflow:hidden;
    border-radius:12px;
    background:#f5f1ed;
    border:1px solid var(--border);
}
.client-photo-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.client-photo-card p{
    margin:0;
    font-size:.85rem;
}
@media(max-width:1000px){
    .client-photo-admin-layout{grid-template-columns:1fr}
    .client-photo-admin-layout > form{position:static}
    .client-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
    .admin-client-photo-grid{grid-template-columns:1fr}
    .client-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .client-photo-product-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
    .admin-client-photo-card{grid-template-columns:100px minmax(0,1fr)}
    .admin-client-photo-card > img{width:100px;height:100px}
    .client-photo-grid{grid-template-columns:1fr}
}
/* /sensecand-photo-library:v2.0.0 */

/* client-photo-grid-fix:v2.2.0 */

/* Biblioteca de fotos del CLIENTE: varias imágenes por fila */
.client-photo-library .client-photo-product .client-photo-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:1rem !important;
    width:100% !important;
    align-items:start !important;
}

.client-photo-library .client-photo-product .client-photo-card{
    display:flex !important;
    flex-direction:column !important;
    gap:.65rem !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
}

.client-photo-library .client-photo-product .client-photo-image{
    display:block !important;
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
    border-radius:12px !important;
}

.client-photo-library .client-photo-product .client-photo-image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

.client-photo-library .client-photo-product .client-photo-card .button{
    width:100% !important;
    text-align:center !important;
    margin-top:auto !important;
}

@media (max-width:1050px){
    .client-photo-library .client-photo-product .client-photo-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media (max-width:720px){
    .client-photo-library .client-photo-product{
        padding:1rem !important;
    }

    .client-photo-library .client-photo-product .client-photo-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:.7rem !important;
    }

    .client-photo-library .client-photo-product .client-photo-card .button{
        min-height:40px !important;
        padding:.7rem .45rem !important;
        font-size:.82rem !important;
    }
}

/* Incluso en móvil pequeño mantenemos 2 columnas */
@media (max-width:520px){
    .client-photo-library .client-photo-product .client-photo-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* /client-photo-grid-fix:v2.2.0 */

/* crm-compact-detail:v2.5.0 */

.crm-client-summary{
    padding:1.25rem 1.35rem !important;
    margin-bottom:1.25rem !important;
}

.crm-client-summary-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    padding-bottom:1rem;
    border-bottom:1px solid var(--border);
}

.crm-client-summary .eyebrow{
    margin:0 0 .2rem !important;
}

.crm-client-summary h2{
    margin:0 !important;
    font-size:1.55rem !important;
    line-height:1.15 !important;
}

.crm-client-statuses{
    display:flex;
    gap:.7rem;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.crm-next-followup{
    display:grid;
    gap:.08rem;
    min-width:135px;
    padding:.5rem .7rem;
    border:1px solid var(--border);
    border-radius:10px;
    background:#fbf7f3;
}

.crm-next-followup small{
    color:var(--muted);
    font-size:.69rem;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.crm-next-followup strong{
    font-size:.9rem;
}

.crm-client-data{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.75rem 1rem;
    padding:1rem 0 .2rem;
}

.crm-client-data > div{
    min-width:0;
}

.crm-client-data small{
    display:block;
    margin-bottom:.18rem;
    color:var(--muted);
    font-size:.7rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.crm-client-data strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:.9rem;
    line-height:1.3;
}

.crm-client-data-wide{
    grid-column:span 2;
}

.crm-client-note{
    margin-top:.8rem;
    padding:.7rem .8rem;
    background:#fbf7f3;
    border-radius:10px;
}

.crm-client-note small{
    display:block;
    color:var(--muted);
    font-size:.7rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.crm-client-note p{
    margin:.25rem 0 0;
    font-size:.88rem;
    line-height:1.45;
}

.crm-client-editor{
    margin-top:1rem;
    border-top:1px solid var(--border);
    padding-top:.8rem;
}

.crm-client-editor > summary{
    width:max-content;
    color:var(--terracotta-dark);
    font-size:.86rem;
    font-weight:800;
    cursor:pointer;
    list-style:none;
}

.crm-client-editor > summary::-webkit-details-marker{
    display:none;
}

.crm-client-editor > summary::after{
    content:' +';
}

.crm-client-editor[open] > summary::after{
    content:' −';
}

.crm-client-edit-form{
    margin-top:1rem;
    padding:1rem !important;
    background:#fbf7f3;
    border:1px solid var(--border);
    border-radius:12px;
    box-shadow:none !important;
}

.crm-client-edit-form label,
.crm-client-new-form label{
    font-size:.78rem !important;
}

.crm-client-edit-form input,
.crm-client-edit-form select,
.crm-client-edit-form textarea,
.crm-client-new-form input,
.crm-client-new-form select,
.crm-client-new-form textarea{
    min-height:40px !important;
    padding:.65rem .72rem !important;
    font-size:.9rem !important;
}

.crm-client-edit-form textarea,
.crm-client-new-form textarea{
    min-height:86px !important;
}

.crm-columns{
    gap:1rem !important;
    align-items:start !important;
}

.crm-columns > .card{
    padding:1.2rem !important;
}

.crm-columns > .card h2{
    margin-top:0 !important;
    margin-bottom:.85rem !important;
    font-size:1.35rem !important;
}

.crm-columns .form-stack{
    gap:.8rem !important;
}

.crm-columns .form-stack label{
    font-size:.78rem !important;
}

.crm-columns .form-stack input,
.crm-columns .form-stack select,
.crm-columns .form-stack textarea{
    padding:.65rem .72rem !important;
    font-size:.9rem !important;
}

.crm-columns .form-stack textarea{
    min-height:92px !important;
}

.crm-columns .card .card{
    padding:.9rem !important;
}

@media(max-width:980px){
    .crm-client-data{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .crm-client-data-wide{
        grid-column:span 2;
    }
}

@media(max-width:680px){
    .crm-client-summary{
        padding:1rem !important;
    }

    .crm-client-summary-top{
        display:grid;
    }

    .crm-client-statuses{
        justify-content:flex-start;
    }

    .crm-client-data{
        grid-template-columns:1fr 1fr;
        gap:.7rem;
    }

    .crm-client-data-wide{
        grid-column:1 / -1;
    }

    .crm-client-data strong{
        white-space:normal;
        overflow:visible;
    }
}

/* /crm-compact-detail:v2.5.0 */

/* crm-workspace:v2.6.0 */

/* Cabecera general de la ficha */
.crm-v260-active .page-heading.split-heading{
    margin-bottom:1rem !important;
    align-items:end !important;
}

.crm-v260-active .page-heading h1{
    font-size:clamp(2rem,3.2vw,3.4rem) !important;
    margin-bottom:.2rem !important;
}

.crm-v260-active .page-heading > div > p:last-child{
    margin-bottom:0 !important;
}

/* Se oculta el resumen redundante de "Contacto comercial" */
.crm-v260-active .crm-old-contact-summary{
    display:none !important;
}

/* Datos del cliente: una sola banda compacta */
.crm-v260-active .crm-client-summary{
    padding:.9rem 1rem !important;
    margin-bottom:1rem !important;
}

.crm-v260-active .crm-client-summary-top{
    padding-bottom:.65rem !important;
    align-items:center !important;
}

.crm-v260-active .crm-client-summary h2{
    font-size:1.25rem !important;
}

.crm-v260-active .crm-client-data{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:.55rem .9rem !important;
    padding:.7rem 0 .1rem !important;
}

.crm-v260-active .crm-client-data-wide{
    grid-column:auto !important;
}

.crm-v260-active .crm-client-note{
    display:none !important;
}

.crm-v260-active .crm-client-editor{
    margin-top:.65rem !important;
    padding-top:.55rem !important;
}

.crm-v260-active .crm-client-editor > summary{
    font-size:.78rem !important;
}

/* Workspace principal */
.crm-v260-workspace{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:1rem !important;
    align-items:start !important;
    margin-top:1rem !important;
}

.crm-v260-history{
    min-width:0 !important;
    margin:0 !important;
}

.crm-v260-sidebar{
    position:sticky !important;
    top:90px !important;
    display:grid !important;
    gap:.8rem !important;
}

.crm-v260-actions{
    padding:1rem !important;
}

.crm-v260-actions h2{
    margin:0 0 .8rem !important;
    font-size:1.15rem !important;
}

.crm-v260-actions-list{
    display:grid !important;
    gap:.55rem !important;
}

.crm-v260-action{
    width:100% !important;
    min-height:44px !important;
    border:1px solid var(--terracotta-dark) !important;
    border-radius:9px !important;
    background:#fff !important;
    color:var(--terracotta-dark) !important;
    font:inherit !important;
    font-size:.88rem !important;
    font-weight:800 !important;
    cursor:pointer !important;
    text-align:left !important;
    padding:.7rem .8rem !important;
}

.crm-v260-action:hover,
.crm-v260-action.is-active{
    background:var(--terracotta-dark) !important;
    color:#fff !important;
}

.crm-v260-quick{
    padding:1rem !important;
}

.crm-v260-quick h3{
    margin:0 0 .65rem !important;
    font-size:1rem !important;
}

.crm-v260-quick dl{
    margin:0 !important;
    display:grid !important;
    gap:.55rem !important;
}

.crm-v260-quick dt{
    color:var(--muted) !important;
    font-size:.66rem !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    text-transform:uppercase !important;
}

.crm-v260-quick dd{
    margin:.1rem 0 0 !important;
    font-size:.82rem !important;
    font-weight:700 !important;
    overflow-wrap:anywhere !important;
}

/* Formularios convertidos en panel desplegable */
.crm-v260-panel{
    display:none !important;
    grid-column:1 / -1 !important;
    margin:0 !important;
    padding:1rem !important;
}

.crm-v260-panel.is-open{
    display:block !important;
}

.crm-v260-panel h2{
    font-size:1.2rem !important;
    margin:0 0 .8rem !important;
}

.crm-v260-panel .form-stack{
    gap:.7rem !important;
}

.crm-v260-panel textarea{
    min-height:90px !important;
}

/* El contenedor antiguo deja de mandar en la maquetación */
.crm-v260-active .crm-columns{
    display:contents !important;
}

/* Historial más protagonista y limpio */
.crm-v260-history > h2,
.crm-v260-history h2:first-child{
    font-size:1.55rem !important;
}

@media(max-width:980px){
    .crm-v260-active .crm-client-data{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }

    .crm-v260-workspace{
        grid-template-columns:minmax(0,1fr) 260px !important;
    }
}

@media(max-width:760px){
    .crm-v260-active .crm-client-data{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .crm-v260-workspace{
        display:flex !important;
        flex-direction:column !important;
    }

    .crm-v260-sidebar{
        position:static !important;
        order:0 !important;
        width:100% !important;
    }

    .crm-v260-history{
        order:1 !important;
        width:100% !important;
    }

    .crm-v260-panel{
        order:0 !important;
        width:100% !important;
    }

    .crm-v260-actions-list{
        grid-template-columns:1fr 1fr !important;
    }
}

@media(max-width:520px){
    .crm-v260-actions-list{
        grid-template-columns:1fr !important;
    }

    .crm-v260-active .crm-client-data{
        grid-template-columns:1fr 1fr !important;
    }
}

/* /crm-workspace:v2.6.0 */

/* commercial-email-templates:v2.7.0 */

.commercial-template-picker{
    padding:1rem !important;
    background:#fbf7f3 !important;
}

.commercial-template-picker h3{
    margin:0 0 .25rem !important;
    font-size:1.05rem !important;
}

.commercial-template-picker > p{
    margin:.2rem 0 .85rem !important;
    font-size:.82rem !important;
}

.commercial-template-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.55rem !important;
}

.commercial-template-button{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:.12rem !important;
    min-height:64px !important;
    padding:.65rem .75rem !important;
    background:#fff !important;
    color:inherit !important;
    border:1px solid var(--border) !important;
    border-radius:9px !important;
    font:inherit !important;
    text-align:left !important;
    cursor:pointer !important;
}

.commercial-template-button strong{
    font-size:.82rem !important;
    color:var(--terracotta-dark) !important;
}

.commercial-template-button small{
    color:var(--muted) !important;
    font-size:.7rem !important;
    line-height:1.25 !important;
}

.commercial-template-button:hover,
.commercial-template-button.is-selected{
    border-color:var(--terracotta-dark) !important;
    box-shadow:0 0 0 1px var(--terracotta-dark) inset !important;
}

.commercial-template-button.is-blank{
    background:#f7f4f1 !important;
}

@media(max-width:620px){
    .commercial-template-grid{
        grid-template-columns:1fr !important;
    }
}

/* /commercial-email-templates:v2.7.0 */

/* portal-benefits-before-register:v1.0.0 */
.home-portal-benefits{
    padding:clamp(1.8rem,4vw,3.5rem);
    background:#fbf7f3;
    border:1px solid var(--border);
    border-radius:24px;
}

.home-portal-benefits-head{
    max-width:820px;
    margin-bottom:2rem;
}

.home-portal-benefits-head .eyebrow{
    margin-bottom:.55rem;
}

.home-portal-benefits-head h2{
    max-width:760px;
    margin-bottom:.8rem;
    font-size:clamp(2rem,3.8vw,3.4rem);
    line-height:1.08;
}

.home-portal-benefits-head > p:last-child{
    max-width:760px;
    margin:0;
    color:var(--muted);
    font-size:1rem;
    line-height:1.65;
}

.home-portal-benefits-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--border);
}

.home-portal-benefits-grid article{
    min-height:190px;
    padding:1.35rem;
    background:#fff;
}

.home-portal-benefits-grid span{
    display:block;
    margin-bottom:.8rem;
    color:#aa6651;
    font-family:Georgia,serif;
    font-size:.92rem;
}

.home-portal-benefits-grid h3{
    margin:0 0 .45rem;
    font-size:1.16rem;
}

.home-portal-benefits-grid p{
    margin:0;
    color:var(--muted);
    font-size:.9rem;
    line-height:1.55;
}

.home-portal-benefits-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1.5rem;
}

.home-portal-benefits-note{
    margin:1rem 0 0;
    color:var(--muted);
    font-size:.8rem;
}

@media(max-width:900px){
    .home-portal-benefits-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .home-portal-benefits{
        padding:1.35rem;
        border-radius:18px;
    }

    .home-portal-benefits-grid{
        grid-template-columns:1fr;
    }

    .home-portal-benefits-grid article{
        min-height:auto;
    }

    .home-portal-benefits-actions{
        display:grid;
    }
}
/* /portal-benefits-before-register:v1.0.0 */

/* home-final-polish:v1.1.0 */

/* Compactar bloque de utilidades */
.home-portal-benefits{
    padding:clamp(1.55rem,3.2vw,2.6rem) !important;
}

.home-portal-benefits-head{
    margin-bottom:1.35rem !important;
}

.home-portal-benefits-head h2{
    font-size:clamp(1.85rem,3.2vw,2.9rem) !important;
    max-width:700px !important;
}

.home-portal-benefits-head > p:last-child{
    font-size:.94rem !important;
    line-height:1.55 !important;
}

.home-portal-benefits-grid article{
    min-height:150px !important;
    padding:1.05rem 1.15rem !important;
}

.home-portal-benefits-grid span{
    margin-bottom:.45rem !important;
    font-size:.82rem !important;
}

.home-portal-benefits-grid h3{
    font-size:1.05rem !important;
    margin-bottom:.3rem !important;
}

.home-portal-benefits-grid p{
    font-size:.82rem !important;
    line-height:1.45 !important;
}

.home-portal-benefits-actions{
    margin-top:1.1rem !important;
}

.home-portal-benefits-note{
    margin-top:.7rem !important;
    font-size:.74rem !important;
}

/* Bloque verde más corto y equilibrado */
.home-story-compact{
    grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr) !important;
    gap:clamp(1.5rem,5vw,5rem) !important;
    padding:clamp(1.7rem,3.8vw,3.4rem) !important;
}

.home-story-compact h2{
    max-width:360px !important;
    font-size:clamp(2rem,3.3vw,3.2rem) !important;
}

.home-story-compact .home-steps li{
    padding:1rem 0 !important;
}

.home-story-compact .home-steps strong{
    font-size:1.15rem !important;
}

.home-story-compact .home-steps p{
    font-size:.88rem !important;
}

@media(max-width:980px){
    .home-story-compact{
        grid-template-columns:1fr !important;
    }
}

@media(max-width:620px){
    .home-portal-benefits{
        padding:1.15rem !important;
    }

    .home-portal-benefits-grid article{
        padding:.95rem 1rem !important;
    }

    .home-story-compact{
        padding:1.5rem 1.1rem !important;
    }
}

/* /home-final-polish:v1.1.0 */

/* home-how-it-works:v1.2.0 */

.home-how{
    padding:clamp(1.7rem,3.4vw,2.8rem);
    background:#fffdfa;
    border:1px solid var(--border);
    border-radius:22px;
}

.home-how-head{
    max-width:680px;
    margin-bottom:1.4rem;
}

.home-how-head .eyebrow{
    margin-bottom:.45rem;
}

.home-how-head h2{
    margin:0 0 .5rem;
    font-size:clamp(1.9rem,3vw,2.8rem);
    line-height:1.08;
}

.home-how-head > p:last-child{
    margin:0;
    color:var(--muted);
    font-size:.94rem;
    line-height:1.55;
}

.home-how-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
}

.home-how-grid article{
    position:relative;
    min-height:175px;
    padding:1.25rem;
    background:#f8f3ee;
    border:1px solid #e7d9cf;
    border-radius:14px;
}

.home-how-grid span{
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    margin-bottom:.9rem;
    border:1px solid #c68b73;
    border-radius:50%;
    color:#a65f47;
    font:500 .82rem Georgia,serif;
}

.home-how-grid h3{
    margin:0 0 .35rem;
    font-size:1.15rem;
}

.home-how-grid p{
    margin:0;
    color:var(--muted);
    font-size:.86rem;
    line-height:1.5;
}

@media(max-width:820px){
    .home-how-grid{
        grid-template-columns:1fr;
    }

    .home-how-grid article{
        min-height:auto;
    }
}

@media(max-width:620px){
    .home-how{
        padding:1.25rem;
        border-radius:18px;
    }

    .home-how-grid article{
        padding:1rem;
    }
}

/* /home-how-it-works:v1.2.0 */

/* portada-final-foto-como:v1.4.0 */

/* FOTO SUAVE DE FONDO EN CABECERA */
.home-hero{
    background:
        linear-gradient(
            90deg,
            rgba(249,244,239,.985) 0%,
            rgba(249,244,239,.965) 35%,
            rgba(249,244,239,.88) 54%,
            rgba(249,244,239,.68) 74%,
            rgba(249,244,239,.54) 100%
        ),
        url("../../uploads/home/home-d3ee95fa1657b88e.png") center 52% / cover no-repeat !important;
}

.home-hero::before,
.home-hero::after{
    display:none !important;
}

.home-hero-copy{
    position:relative;
    z-index:1;
}

.home-login-card{
    position:relative;
    z-index:2;
    background:rgba(255,253,249,.94) !important;
}

/* NUEVO BLOQUE CÓMO FUNCIONA */
.home-how-final{
    padding:clamp(1.7rem,3.5vw,2.8rem);
    background:#fffdfa;
    border:1px solid var(--border);
    border-radius:22px;
}

.home-how-final-head{
    max-width:720px;
    margin-bottom:1.4rem;
}

.home-how-final-head .eyebrow{
    margin-bottom:.45rem;
}

.home-how-final-head h2{
    margin:0 0 .55rem;
    font-size:clamp(1.9rem,3vw,2.8rem);
    line-height:1.08;
}

.home-how-final-head > p:last-child{
    margin:0;
    color:var(--muted);
    font-size:.94rem;
    line-height:1.55;
}

.home-how-final-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
}

.home-how-final-grid article{
    min-height:168px;
    padding:1.2rem;
    background:#f8f3ee;
    border:1px solid #e7d9cf;
    border-radius:14px;
}

.home-how-final-grid span{
    display:inline-grid;
    place-items:center;
    width:34px;
    height:34px;
    margin-bottom:.85rem;
    border:1px solid #c68b73;
    border-radius:50%;
    color:#a65f47;
    font:500 .82rem Georgia,serif;
}

.home-how-final-grid h3{
    margin:0 0 .35rem;
    font-size:1.13rem;
}

.home-how-final-grid p{
    margin:0;
    color:var(--muted);
    font-size:.86rem;
    line-height:1.48;
}

@media(max-width:980px){
    .home-hero{
        background:
            linear-gradient(
                90deg,
                rgba(249,244,239,.97) 0%,
                rgba(249,244,239,.90) 58%,
                rgba(249,244,239,.74) 100%
            ),
            url("../../uploads/home/home-d3ee95fa1657b88e.png") center / cover no-repeat !important;
    }
}

@media(max-width:820px){
    .home-how-final-grid{
        grid-template-columns:1fr;
    }

    .home-how-final-grid article{
        min-height:auto;
    }
}

@media(max-width:680px){
    .home-hero{
        background:
            linear-gradient(rgba(249,244,239,.91),rgba(249,244,239,.91)),
            url("../../uploads/home/home-d3ee95fa1657b88e.png") center / cover no-repeat !important;
    }

    .home-how-final{
        padding:1.2rem;
        border-radius:18px;
    }
}

/* /portada-final-foto-como:v1.4.0 */
