/* Identidad de Grabado Único. Todos los tonos de marca se definen aquí. */
:root {
    --color-primary:#00AFA8;
    --color-primary-dark:#007F7A;
    --color-primary-hover:#006963;
    --color-accent:#FF6A00;
    --color-accent-dark:#C74600;
    --color-accent-hover:#A73700;
    --color-secondary:#69358C;
    --color-secondary-dark:#45225F;
    --color-highlight:#FFC400;
    --color-bg:#F7FAFA;
    --color-surface:#FFFFFF;
    --color-text:#202124;
    --color-text-muted:#667085;
    --color-border:#E4E7EC;
    --color-primary-soft:#E7F6F4;
    --color-accent-soft:#FFF1E6;
    --color-secondary-soft:#F2ECF7;
    --color-highlight-soft:#FFF7D6;
    --color-danger:#B42332;
    --color-danger-dark:#8B1726;
    --color-danger-soft:#FFF0F0;
    --shadow-soft:0 8px 28px rgb(32 33 36 / 5%);
    --shadow-hover:0 12px 34px rgb(32 33 36 / 10%);
    --paper:var(--color-bg);
    --ink:var(--color-text);
    --muted:var(--color-text-muted);
    --green:var(--color-primary-dark);
    --line:var(--color-border);
    --serif:'Trebuchet MS','Segoe UI',sans-serif;
}
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px}
h1,h2{font-weight:700;letter-spacing:-.045em;line-height:1.13}
h3{font-weight:650;letter-spacing:-.02em}
em{font-style:normal;color:var(--color-primary-dark);font-weight:inherit}
a,button{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-secondary);outline-offset:4px}
.announcement{background:var(--color-secondary-dark);font-size:11px;letter-spacing:1px}
.site-header{background:var(--color-surface);box-shadow:0 3px 18px rgb(32 33 36 / 3%)}
.header-inner{min-height:146px;gap:28px;padding-block:8px}
.brand{flex-shrink:0;margin-right:0;line-height:0}
.brand-logo{display:block;width:220px;height:auto;object-fit:contain}
.main-nav{margin-inline:auto;gap:24px;font-size:13px}
.main-nav a{padding-block:12px;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a[aria-current]{color:var(--color-primary-dark);border-color:var(--color-accent)}
.cart-button{border:1px solid var(--color-border);border-radius:50px;padding:12px 15px;background:var(--color-primary-soft);color:var(--color-primary-dark);flex-shrink:0}
.cart-button span{background:var(--color-primary-dark);color:var(--color-surface);min-width:22px;min-height:22px;border-radius:50%;display:grid;place-items:center;font-weight:700}
.cart-button:hover{background:var(--color-accent-soft);color:var(--color-accent-dark)}
.button{border-radius:8px;font-weight:650;font-size:13px;min-height:46px;background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-surface);gap:22px}
.button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-soft)}
.button-buy,.button-location{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}
.button-buy:hover,.button-location:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
.button-outline,.button-light{background:var(--color-surface);color:var(--color-primary-dark);border-color:var(--color-primary-dark)}
.button-outline:hover,.button-light:hover{background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:var(--color-primary-hover)}
.button-danger{background:var(--color-danger);border-color:var(--color-danger)}
.button-danger:hover{background:var(--color-danger-dark);border-color:var(--color-danger-dark)}
.text-link,.text-button{color:var(--color-primary-dark);border-color:var(--color-primary)}
.text-link:hover,.text-button:hover{color:var(--color-accent-dark);border-color:var(--color-accent)}
.danger-link{color:var(--color-danger)}
.eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--color-secondary);font-weight:700}
.little-line{background:var(--color-accent)}
.brand-hero{gap:44px;padding-block:52px 58px;grid-template-columns:1fr 1fr}
.brand-hero h1{font-size:clamp(45px,4.8vw,66px);margin-bottom:25px}
.hero-copy>p{font-size:16px;line-height:1.8;max-width:500px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-note{font-size:12px}
.hero-note>span{color:var(--color-accent-dark)}
.brand-hero-art{position:relative;background:linear-gradient(140deg,var(--color-surface),var(--color-primary-soft));border:1px solid var(--color-border);border-radius:28px 8px 28px 8px;padding:25px 12px 22px;box-shadow:var(--shadow-soft);min-width:0}
.brand-hero-art>img{display:block;width:100%;height:auto;object-fit:contain}
.art-label{display:block;text-align:center;color:var(--color-secondary);font-size:9px;letter-spacing:2px;font-weight:700}
.craft-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.craft-tags span{border-radius:20px;background:var(--color-surface);color:var(--color-secondary-dark);border:1px solid var(--color-border);padding:6px 11px;font-size:10px;font-weight:600}
.values-strip{background:var(--color-surface)}
.values-inner{font-size:12px;gap:20px}
.values-inner b{color:var(--color-primary-dark);margin-right:7px;font-size:20px}
.values-inner>span:nth-child(2) b{color:var(--color-secondary)}
.values-inner>span:nth-child(3) b{color:var(--color-accent-dark)}
.home-collections{padding-top:64px}
.section-heading h2{font-size:clamp(28px,3vw,38px)}
.product-card,.market-card{background:var(--color-surface);border-radius:14px;border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}
.product-card:hover,.market-card:hover{box-shadow:var(--shadow-hover)}
.product-visual,.market-placeholder{background:var(--color-primary-soft)}
.product-visual>span,.market-placeholder{color:var(--color-primary-dark)}
.product-visual img{padding:12px}
.product-body{padding:22px}
.product-body h3{font-size:21px}
.product-price,.detail-price{color:var(--color-primary-dark);font-weight:750}
.product-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}
.product-badge{font-size:9px;letter-spacing:.6px;font-weight:750;padding:4px 8px;border-radius:5px;color:var(--color-surface)}
.badge-new{background:var(--color-primary-dark)}
.badge-offer{background:var(--color-accent-dark)}
.badge-featured{background:var(--color-secondary)}
.market-body h2{font-size:27px}
.market-body h3{font-size:24px}
.market-dates{color:var(--color-secondary);font-size:16px!important}
.market-body .eyebrow{color:var(--color-primary-dark)}
.market-image{height:250px}
.badge{border-radius:5px;background:var(--color-secondary-soft);color:var(--color-secondary-dark);border-color:var(--color-border)}
.story-banner{border-radius:16px;background:var(--color-secondary-soft);margin-top:10px}
.banner-flower{color:var(--color-secondary);font-size:150px}
.site-footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding-top:30px}
.footer-logo{width:240px;max-width:100%;height:auto;display:block}
.footer-grid{align-items:center}
.footer-grid h2{font-family:inherit;font-size:13px;font-weight:700}
.footer-grid p,.footer-grid>div>a:not(.footer-brand){font-size:13px}
.footer-bottom{border-color:var(--color-border);font-size:11px}
.empty-state{background:var(--color-surface);border-radius:14px}
.empty-icon{color:var(--color-primary-dark)}
.about-art{border-radius:18px;background:var(--color-primary-soft)}
.about-art span{color:var(--color-primary-dark)}
.admin-nav a[aria-current]{background:var(--color-primary-dark)}
.admin-nav a:hover{background:var(--color-primary-soft);color:var(--color-primary-dark)}
.metric-card,.admin-panel,.admin-card,.admin-form,.order-line{background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-soft)}
.metric-card strong{font-family:inherit;font-weight:750;font-size:28px;color:var(--color-secondary-dark);letter-spacing:-1px}
.admin-panel h2{font-size:26px}
.admin-title{font-size:clamp(32px,4vw,48px)}
.filter-form,.admin-table th{background:var(--color-primary-soft)}
.admin-table{background:var(--color-surface)}
.admin-table th{color:var(--color-primary-dark)}
.status-pendiente{background:var(--color-highlight-soft);color:var(--color-text)}
.status-aceptado{background:var(--color-primary-soft);color:var(--color-primary-dark)}
.status-completado{background:var(--color-primary-dark);color:var(--color-surface)}
.status-preparacion{background:var(--color-secondary-soft);color:var(--color-secondary)}
.status-enviado{background:var(--color-secondary);color:var(--color-surface)}
.status-espera_recogida{background:var(--color-accent-soft);color:var(--color-accent-dark)}
.status-cancelado{background:var(--color-danger-soft);color:var(--color-danger)}
.notice{background:var(--color-primary-soft);border-color:var(--color-primary-dark);border-radius:0 8px 8px 0}
.notice-error{background:var(--color-accent-soft);border-color:var(--color-accent-dark)}
.form-field input,.form-field textarea,.form-field select,.filter-form input,.filter-form select,.admin-panel select,.cart-controls input{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:7px;max-width:100%}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid var(--color-primary-dark);outline-offset:2px}
.form-field [aria-invalid=true]{border-color:var(--color-accent-dark)}
.field-error,.form-field .field-error{color:var(--color-accent-dark)}
.dropzone{border-radius:10px;background:var(--color-primary-soft);border-color:var(--color-primary-dark)}
.dropzone>span{font-family:inherit;font-size:16px;font-weight:650}
.drag-active{background:var(--color-secondary-soft);outline-color:var(--color-secondary)}
.preview-item img,.current-image,.order-photos img{background:var(--color-bg);border-radius:8px}
.personal-text{background:var(--color-secondary-soft);border-color:var(--color-secondary);border-radius:0 8px 8px 0}
.checkout-summary{background:var(--color-primary-soft);border-radius:12px}
.cart-line>div,.product-detail>div{min-width:0}
@media(max-width:1050px){.header-inner{gap:15px}.brand-logo{width:185px}.main-nav{gap:16px;font-size:12px}.brand-hero{gap:25px}.brand-hero h1{font-size:48px}.hero-copy>p{font-size:15px}.hero-actions .button{padding:13px 17px}.footer-logo{width:215px}}
@media(max-width:800px){.header-inner{flex-wrap:wrap;min-height:116px;padding-block:7px}.brand{margin-right:auto}.brand-logo{width:165px}.menu-toggle{display:flex;gap:6px;padding:10px;border:1px solid var(--color-border);border-radius:7px;margin-right:9px;background:var(--color-surface);font-size:12px;color:var(--color-primary-dark)}.main-nav{order:4;flex-basis:100%;margin:10px 0 5px;display:flex;flex-wrap:wrap;justify-content:center}.js-ready .main-nav{display:none}.js-ready .main-nav.is-open{display:flex}.cart-button{padding:9px 11px}.brand-hero{grid-template-columns:1fr;max-width:660px}.brand-hero h1{font-size:clamp(40px,7vw,54px)}.brand-hero-art{max-width:530px;width:100%;justify-self:center}.hero-copy>p{max-width:100%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{gap:18px;flex-wrap:wrap}.section-heading .text-link{margin-top:0}.home-collections{padding-top:44px}}
@media(max-width:480px){.brand-logo{width:150px}.header-inner{gap:0}.cart-button{padding:9px}.menu-toggle{padding:9px;margin-right:7px;font-size:11px}.brand-hero{padding-block:32px;gap:27px}.brand-hero h1{font-size:43px}.hero-actions{gap:10px}.hero-actions .button{font-size:12px;padding:13px 16px;gap:12px}.brand-hero-art{padding:20px 6px 17px;border-radius:18px}.craft-tags span{font-size:9px;padding:5px 8px}.values-inner{justify-content:flex-start;gap:7px}.values-inner>span{width:100%}.product-grid{grid-template-columns:1fr}.footer-logo{width:210px}.metric-card strong{font-size:23px}.footer-bottom{flex-direction:column;gap:8px}.story-banner h2{font-size:29px}.product-detail h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){a,button{transition:none}}

.login-panel{max-width:500px;margin-inline:auto;padding:36px}.login-panel h1{font-size:36px}.login-form{display:grid;gap:22px;margin-block:24px}.login-form .button{justify-content:center}.admin-nav{align-items:center}.admin-identity{margin-left:auto;font-size:12px}.admin-identity small{display:block;color:var(--muted);font-size:11px}.logout-form{margin:0}.logout-form button{font-size:12px;padding:9px}.customer-edit{margin-bottom:28px}.customer-edit summary{font-weight:650}.customer-edit .login-form{margin-bottom:0}@media(max-width:760px){.admin-identity{margin-left:0;flex-basis:calc(100% - 110px)}.login-panel{padding:24px}.login-panel h1{font-size:30px}}
