:root{--cacao:#512d1b;--profundo:#35160a;--oliva:#7e7d41;--crema:#fcf1e0;--marfil:#fdfaf4;--line:#e9ddcf;--muted:#776d65;--ok:#477547;--wait:#9a6500;--danger:#a44b3f;--shadow:0 18px 48px rgba(81,45,27,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fffdf8,#fdf7ee);color:var(--profundo);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}button{touch-action:manipulation}a{color:inherit}[hidden]{display:none!important}
.shop-header{height:68px;padding:0 clamp(16px,4vw,54px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(81,45,27,.1);background:rgba(253,250,244,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.ecovilla-back img{width:174px;max-height:46px;object-fit:contain;display:block}.back-link{text-decoration:none;font-weight:850;font-size:13px;color:var(--oliva)}
main{width:min(1060px,100%);margin:0 auto;padding:22px clamp(12px,3vw,24px) 58px}.shop-hero{position:relative;min-height:270px;border-radius:26px;overflow:hidden;background:linear-gradient(118deg,rgba(58,23,9,.98),rgba(81,45,27,.92) 58%,rgba(126,125,65,.84));box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:center;gap:28px;padding:34px 38px;isolation:isolate}.shop-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 10%,rgba(252,241,224,.18),transparent 31%);z-index:-1}.hero-copy{color:#fff;min-width:0}.eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.14em;color:#efe1b8}.hero-copy h1{font-family:Georgia,serif;font-size:clamp(34px,4.4vw,52px);line-height:1.02;margin:9px 0 12px;max-width:680px}.hero-copy p{font-size:16px;line-height:1.5;color:#fff8ed;max-width:650px;margin:0}.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.live-pill,.pickup-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px;font-weight:850}.live-pill i{width:7px;height:7px;border-radius:50%;background:#b8dc93;box-shadow:0 0 0 4px rgba(184,220,147,.13)}.pickup-pill{background:rgba(252,241,224,.16);color:#fff6e8}.hero-visual{position:relative;height:240px;min-width:0;display:flex;align-items:center;justify-content:center}.hero-eggs{width:min(360px,100%);height:228px;object-fit:cover;border-radius:22px;box-shadow:0 13px 30px rgba(0,0,0,.22)}.hero-brand{position:absolute;width:104px;height:104px;object-fit:contain;right:-8px;bottom:-4px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.22));background:rgba(253,250,244,.93);border-radius:50%;padding:7px}
.how-it-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0}.how-it-works article{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(81,45,27,.04)}.how-it-works article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--crema);color:var(--cacao);font-weight:900;flex:0 0 auto}.how-it-works strong,.how-it-works small{display:block}.how-it-works strong{font-size:12px}.how-it-works small{font-size:10px;color:var(--muted);margin-top:2px;line-height:1.3}
.shop-shell{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 10px 28px rgba(81,45,27,.05);min-width:0}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:17px}.section-head>div{display:flex;gap:11px;align-items:flex-start;min-width:0}.step{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--oliva);color:#fff;font-weight:900;flex:0 0 auto}.section-head h2{margin:0;font-family:Georgia,serif;font-size:27px;line-height:1.05}.section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.sync-status{font-size:10px;font-weight:850;color:var(--oliva);background:#f4f5e9;padding:7px 10px;border-radius:999px;white-space:nowrap}
.frequency-fieldset,.pickup-fieldset{border:0;padding:0;margin:0 0 16px}.frequency-fieldset legend,.pickup-fieldset legend{font-size:13px;font-weight:900;margin-bottom:8px}.frequency-options,.pickup-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-card,.pickup-option{display:flex;align-items:center;gap:10px;padding:13px;border:1.5px solid var(--line);border-radius:14px;background:#fffdf9;cursor:pointer;min-width:0}.choice-card:has(input:checked),.pickup-option:has(input:checked),.choice-card.selected,.pickup-option.selected{border-color:var(--oliva);background:#f6f7ed;box-shadow:0 0 0 2px rgba(126,125,65,.07)}.choice-card input,.pickup-option input{width:auto;min-height:auto;margin:1px 0 0;flex:0 0 auto}.choice-card span,.pickup-option span{min-width:0;flex:1}.choice-card strong,.choice-card small,.pickup-option strong,.pickup-option small{display:block}.choice-card strong,.pickup-option strong{font-size:12px}.choice-card small,.pickup-option small{font-size:9.5px;margin-top:2px;font-weight:600;color:var(--muted);line-height:1.3}.choice-card b{padding:5px 8px;border-radius:999px;background:#fff;color:var(--oliva);font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.catalog-grid{display:grid;grid-template-columns:1fr;gap:12px}.loading-card{padding:24px;border:1px dashed var(--line);border-radius:16px;text-align:center;color:var(--muted)}.product-card{border:1.5px solid #b9b77e;border-radius:18px;padding:17px 18px;background:linear-gradient(180deg,#fff,#fffaf3);display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;min-width:0;box-shadow:0 0 0 3px rgba(126,125,65,.06)}.product-kicker{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--oliva)}.product-card h3{font-size:23px;margin:3px 0}.product-card p{margin:0;color:var(--muted);font-size:12px}.availability{display:inline-flex;margin-top:8px;font-size:10px;font-weight:850;padding:6px 8px;border-radius:999px;background:#edf5e9;color:var(--ok)}.price{text-align:right;white-space:nowrap}.price span{display:block;font-size:10px;color:var(--muted)}.price strong{font-size:27px;color:var(--cacao)}.qty-control{display:flex;align-items:center;gap:10px}.qty-label{font-size:10px;font-weight:800;color:var(--muted)}.stepper{display:flex;align-items:center;gap:6px}.stepper button{width:40px;height:40px;border:0;border-radius:11px;background:var(--crema);color:var(--cacao);font-size:21px;font-weight:900;cursor:pointer}.stepper button:focus-visible{outline:3px solid rgba(126,125,65,.28);outline-offset:2px}.stepper output{min-width:30px;text-align:center;font-weight:900;font-size:17px}.subscription-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.subscription-summary>div{padding:12px 13px;border-radius:13px;background:var(--crema);min-width:0}.subscription-summary span,.subscription-summary strong{display:block}.subscription-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:900}.subscription-summary strong{font-size:14px;margin-top:4px;color:var(--cacao)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.span-2{grid-column:1/-1}.field-wrap{font-size:12px;font-weight:850;color:var(--cacao);min-width:0}input,textarea{display:block;width:100%;margin-top:6px;border:1px solid #ddcfbf;border-radius:12px;background:#fffdf9;padding:12px 13px;outline:none;color:var(--profundo);transition:.15s;min-width:0}input{min-height:46px}input:focus,textarea:focus{border-color:var(--oliva);box-shadow:0 0 0 3px rgba(126,125,65,.1)}input[readonly]{background:#f7f4ef;color:#504843}.field-wrap>small,.field-status{font-weight:600;color:var(--muted)}.dni-control{position:relative}.dni-control input{padding-right:68px}.field-badge{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:9px;font-weight:900;color:var(--oliva);background:#f2f3e7;padding:5px 7px;border-radius:999px}.field-status{display:block;margin-top:4px;font-size:9.5px;line-height:1.35}.field-status.ok{color:var(--ok)}.field-status.warn{color:var(--wait)}.pickup-fieldset{margin:18px 0}.fieldset-help{font-size:10px;font-weight:600;color:var(--muted);margin:0 0 9px}.note-field{display:block}.capacity-note{display:flex;gap:12px;align-items:center;margin-top:16px;padding:13px 14px;border-radius:14px;background:#f3f4e7;border:1px solid #dfe1be}.capacity-note>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--oliva);color:#fff;font-weight:950;flex:0 0 auto}.capacity-note strong,.capacity-note p{display:block;margin:0}.capacity-note strong{font-size:12px}.capacity-note p{font-size:10px;line-height:1.4;color:#626039;margin-top:3px}.accept-row{display:flex;align-items:flex-start;gap:9px;margin:13px 2px 0;color:var(--muted);font-size:10px;line-height:1.4;font-weight:650}.accept-row input{width:18px;height:18px;min-height:0;margin:0;flex:0 0 auto;accent-color:var(--oliva)}
.checkout-bar{margin-top:17px;border-radius:16px;background:var(--profundo);color:#fff;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.checkout-bar span,.checkout-bar small{display:block;color:#eadfda}.checkout-bar span{font-size:10px;text-transform:uppercase;letter-spacing:.06em}.checkout-bar strong{display:block;font-size:20px;margin:2px 0}.checkout-bar small{font-size:10px}.submit-btn{border:0;border-radius:12px;background:var(--oliva);color:#fff;padding:13px 20px;font-weight:900;cursor:pointer;min-width:205px;min-height:48px}.submit-btn:disabled{opacity:.6;cursor:wait}.privacy-note{font-size:9.5px;color:var(--muted);text-align:center;margin:10px 0 0;line-height:1.4}.form-message{margin-top:10px;text-align:center;font-size:11px;font-weight:850;color:var(--danger)}.trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.terms-card{margin-top:14px;border:1px solid #d9ccb9;border-radius:14px;background:#fffaf2;overflow:hidden}.terms-card summary{cursor:pointer;padding:12px 14px;color:var(--cacao);font-size:11px;font-weight:900;list-style:none;display:flex;align-items:center;justify-content:space-between}.terms-card summary::-webkit-details-marker{display:none}.terms-card summary::after{content:'+';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eee7d7;color:var(--oliva);font-size:16px}.terms-card[open] summary::after{content:'−'}.terms-content{padding:0 14px 13px;border-top:1px solid #eee4d4;color:var(--muted);font-size:10px;line-height:1.5}.terms-content>strong{display:block;color:var(--profundo);margin-top:11px}.terms-content ol{margin:7px 0 0;padding-left:18px}.terms-content li+li{margin-top:5px}.terms-content li strong{color:var(--cacao)}
.success-card{margin:28px auto 0;max-width:660px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 24px;box-shadow:var(--shadow)}.success-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#e8f3e4;color:var(--ok);font-size:27px;font-weight:900;margin:0 auto 13px}.success-card.waiting .success-icon{background:#fff0cf;color:var(--wait)}.success-card .eyebrow{color:var(--oliva)}.success-card h2{font-family:Georgia,serif;font-size:38px;margin:6px 0}.success-card p{color:var(--muted);font-size:14px;line-height:1.5}.success-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px}.primary-link,.secondary-link{padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:900;font-size:12px}.primary-link{background:var(--oliva);color:#fff}.secondary-link{background:var(--crema);color:var(--cacao)}.shop-footer{padding:24px 18px 30px;text-align:center;color:var(--muted);font-size:11px}.shop-footer strong,.shop-footer span,.shop-footer small{display:block}.shop-footer strong{color:var(--cacao);font-size:14px;margin-bottom:2px}.zip-version{margin-top:7px;opacity:.55;font-size:9px;letter-spacing:.04em}
.pickup-options{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:820px){.shop-hero{grid-template-columns:minmax(0,1fr) 230px;padding:28px}.hero-visual{height:188px}.hero-eggs{height:180px}.hero-brand{width:90px;height:90px}.product-card{grid-template-columns:minmax(0,1fr) auto}.qty-control{grid-column:1/-1;justify-content:flex-end;border-top:1px dashed var(--line);padding-top:11px}.qty-label{display:block;margin-right:auto}.pickup-options{grid-template-columns:1fr}}
@media(max-width:620px){.shop-header{height:60px;padding:0 13px}.ecovilla-back img{width:142px}.back-link{font-size:11px}main{padding:13px 10px 42px}.shop-hero{grid-template-columns:1fr;gap:15px;padding:21px 18px;border-radius:19px;min-height:0}.hero-copy h1{font-size:34px;margin:7px 0 9px}.hero-copy p{font-size:14px}.hero-pills{margin-top:12px}.hero-visual{height:166px;justify-content:flex-start}.hero-eggs{width:100%;height:160px;border-radius:15px}.hero-brand{width:78px;height:78px;right:7px;bottom:-2px;padding:5px}.how-it-works{grid-template-columns:1fr;gap:7px}.how-it-works article{padding:10px 12px}.shop-shell{padding:16px 13px;border-radius:18px;margin-top:13px}.section-head{align-items:flex-start;margin-bottom:13px}.section-head h2{font-size:23px}.section-head p{font-size:11px}.sync-status{display:none}.frequency-options{grid-template-columns:1fr}.product-card{grid-template-columns:minmax(0,1fr) auto;padding:14px 13px;gap:11px}.product-card h3{font-size:20px}.price strong{font-size:22px}.qty-control{padding-top:10px}.subscription-summary{grid-template-columns:1fr 1fr}.subscription-summary>div:last-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.checkout-bar{align-items:stretch;flex-direction:column;padding:14px}.submit-btn{width:100%}.success-card{border-radius:19px;padding:28px 16px}.success-card h2{font-size:32px}}
.selected-date{display:block;margin-top:7px;padding:9px 11px;border-radius:10px;background:#f3f4e7;color:var(--cacao);font-size:13px;text-transform:capitalize}
@media(max-width:380px){.hero-copy h1{font-size:30px}.hero-pills{display:grid;justify-items:start}.product-card{grid-template-columns:1fr}.price{text-align:left}.qty-control{grid-column:1}.stepper button{width:36px;height:36px}.section-head p{max-width:240px}.capacity-note{align-items:flex-start}.capacity-note>span{width:42px;height:42px}}

/* R226 · Precio vigente por celda, sin mecánica promocional. */
.hero-copy>p{font-size:16px;line-height:1.5;color:#fff8ed;max-width:650px;margin:0}
.current-price{display:grid;grid-template-columns:auto;align-items:center;justify-content:start;gap:5px;width:fit-content;max-width:100%;margin-top:17px;padding:11px 14px;border:1px solid rgba(255,230,153,.55);border-radius:16px;background:linear-gradient(135deg,rgba(255,248,218,.18),rgba(255,255,255,.09));box-shadow:0 10px 28px rgba(0,0,0,.12)}
.current-price-label{width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;background:#ffd36a;color:#4a260d;font-size:9px;font-weight:950;letter-spacing:.1em}
.current-price-value{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.current-price-value strong{font-size:30px;line-height:1;color:#fff2a9}.current-price-value small{font-size:10px;font-weight:750;color:#fff8ed}.hero-pills{margin-top:12px}
.product-card{border-color:#d8aa3b;background:linear-gradient(180deg,#fffef8,#fff7e6);box-shadow:0 0 0 3px rgba(216,170,59,.09)}
.price>span{display:block;font-size:9px;color:#8b6410;font-weight:950;letter-spacing:.07em}.price strong{display:block;margin-top:3px;font-size:29px;line-height:1.05;color:var(--cacao)}
.subscription-summary span,.subscription-summary strong,.subscription-summary small{display:block}.subscription-summary small{font-size:9px;color:var(--ok);font-weight:850;margin-top:3px}
@media(max-width:620px){.hero-copy>p{font-size:14px}.current-price{width:100%;gap:6px;margin-top:13px;padding:10px 12px}.current-price-value strong{font-size:28px}.hero-pills{margin-top:10px}.price strong{font-size:23px}}

/* R148 · Cabecera compacta y fotografía completa en móvil. */
.shop-header{height:54px}.ecovilla-back img{width:150px;max-height:38px}.back-link{font-size:12px}
main{padding-top:12px}
.shop-hero{min-height:0;grid-template-columns:minmax(0,1.5fr) minmax(264px,.5fr);gap:20px;padding:22px 28px;border-radius:22px}
.hero-copy h1{font-size:clamp(31px,3.5vw,43px);line-height:1.01;margin:6px 0 8px;max-width:590px}
.hero-copy>p{font-size:13px;line-height:1.38;max-width:590px}
.current-price{margin-top:10px;padding:8px 10px;gap:10px;max-width:590px}
.current-price-label{font-size:9px}.current-price-value strong{font-size:26px}.current-price-value small{font-size:9px}
.hero-pills{margin-top:8px}.live-pill,.pickup-pill{padding:6px 9px;font-size:10px}
.hero-visual{height:auto;gap:10px}
.hero-eggs{width:min(212px,100%);min-width:0;height:auto;aspect-ratio:1 / 1;object-fit:contain;border-radius:18px}
.hero-brand{position:static;flex:0 0 62px;width:62px;height:62px;padding:5px}
@media(max-width:820px){.shop-hero{grid-template-columns:minmax(0,1fr) 240px;padding:20px 22px}}
@media(max-width:620px){.shop-header{height:50px}.ecovilla-back img{width:126px;max-height:34px}.back-link{font-size:10px}main{padding-top:8px}.shop-hero{grid-template-columns:1fr;gap:9px;padding:15px 14px;border-radius:17px}.hero-copy h1{font-size:29px;line-height:1.02;margin:5px 0 7px}.hero-copy>p{font-size:12px;line-height:1.35}.current-price{grid-template-columns:1fr;margin-top:9px;padding:7px 9px;gap:5px 9px}.current-price-value{justify-content:flex-start}.current-price-value strong{font-size:25px}.hero-pills{margin-top:7px;gap:5px}.live-pill,.pickup-pill{padding:5px 8px;font-size:9px}.hero-eggs{width:min(180px,100%);border-radius:13px}}

/* R150 · Cantidad y total integrados en la tarjeta principal. */
.product-card h3#productSelection{font-size:21px;line-height:1.15}.price strong#productTotal{font-size:29px}.subscription-summary{display:none!important}
@media(max-width:620px){.product-card h3#productSelection{font-size:18px}.price strong#productTotal{font-size:23px}}

/* R155 · Fecha estable en iPhone y primer recojo desde hoy + 3 días. */
.pickup-date-field{display:block;width:100%;max-width:100%;justify-self:stretch}.pickup-date-field>span,.pickup-date-field>.date-rule{display:block}.pickup-date-field input[type="date"]{display:block;position:relative;width:100%;max-width:100%;min-width:0;height:48px;min-height:48px;margin:6px 0 0;padding:12px 46px 12px 13px;line-height:22px;text-align:left;-webkit-appearance:none!important;appearance:none!important;background:#fffdf9;color:var(--profundo);overflow:hidden}.pickup-date-field input[type="date"]::-webkit-date-and-time-value{display:block;width:100%;min-width:0;margin:0;padding:0;text-align:left;line-height:22px}.pickup-date-field input[type="date"]::-webkit-datetime-edit{display:flex;align-items:center;min-width:0;margin:0;padding:0;line-height:22px}.pickup-date-field input[type="date"]::-webkit-datetime-edit-fields-wrapper{display:flex;align-items:center;min-width:0;margin:0;padding:0}.pickup-date-field input[type="date"]::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;width:46px;height:48px;margin:0;padding:0;cursor:pointer;opacity:0}.pickup-date-field .date-rule{margin-top:5px;color:var(--oliva);font-size:9.5px;line-height:1.35;font-weight:750}
@media(max-width:620px){.identity-grid{display:block;width:100%}.identity-grid>.field-wrap{display:block;width:100%;max-width:100%;margin:0 0 13px}.identity-grid>.field-wrap:last-child{margin-bottom:0}.pickup-date-field{overflow:visible}.pickup-date-field input[type="date"]{width:100%;max-width:100%;font-size:16px;line-height:22px;padding:12px 46px 12px 13px}.pickup-date-field input[type="date"]::-webkit-date-and-time-value{line-height:22px}}

.fresh-calendar{width:min(100%,440px);margin:8px 0 0;padding:12px;border:1px solid #d9cbb9;border-radius:15px;background:#fffdf9;box-shadow:0 5px 16px rgba(81,45,27,.05)}.fresh-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:8px}.fresh-calendar-head strong{text-align:center;color:var(--cacao);font-size:14px;text-transform:capitalize}.fresh-calendar-head button{width:38px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--cacao);font-size:24px;line-height:1;cursor:pointer}.fresh-calendar-head button:disabled{opacity:.38;cursor:default}.fresh-calendar-weekdays,.fresh-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.fresh-calendar-weekdays{margin:2px 0 5px}.fresh-calendar-weekdays span{display:grid;place-items:center;height:25px;color:var(--muted);font-size:10px;font-weight:900}.fresh-calendar-day,.fresh-calendar-blank{position:relative;display:grid;place-items:center;min-width:0;height:40px;border-radius:10px}.fresh-calendar-day{padding:0;border:1px solid transparent;background:transparent;color:var(--profundo);cursor:pointer}.fresh-calendar-day.has-capacity:hover{border-color:#b9bd8c;background:#f3f5e9}.fresh-calendar-day.has-capacity:focus-visible,.fresh-calendar-head button:focus-visible{outline:3px solid rgba(126,125,65,.28);outline-offset:1px}.fresh-calendar-day.has-capacity.selected{border-color:var(--oliva);background:var(--oliva);color:#fff;font-weight:900;box-shadow:0 2px 7px rgba(81,45,27,.14)}.fresh-calendar-day.no-capacity{border-color:#f0d2cf;background:#fff6f5;color:#a32f2f;cursor:not-allowed}.fresh-calendar-day.no-capacity .calendar-day-number{position:relative;font-weight:800}.fresh-calendar-day.no-capacity .calendar-day-number::after{position:absolute;content:"";left:-4px;right:-4px;top:50%;height:2px;background:#c83131;transform:rotate(-35deg);transform-origin:center}.fresh-calendar-day .calendar-x{position:absolute;top:0;right:3px;color:#c83131;font-size:12px;font-weight:1000;line-height:1}.fresh-calendar-day.outside-window{color:#c8beb3;cursor:default}.fresh-calendar-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:9px 0 0;padding-top:8px;border-top:1px solid #eee5dc}.fresh-calendar-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:750}.calendar-dot{width:9px;height:9px;border-radius:50%;background:var(--oliva)}.fresh-calendar-legend .calendar-x{display:grid;place-items:center;width:14px;height:14px;color:#c83131;font-style:normal;font-size:18px;font-weight:950;line-height:1}.calendar-selected{margin:9px 0 0;padding:8px 10px;border-radius:9px;background:#f2f3e7;color:var(--cacao);font-size:11px;font-weight:800;text-transform:capitalize}.date-rule{margin-top:6px;color:var(--oliva);font-size:10px;line-height:1.4;font-weight:700}
@media(max-width:380px){.fresh-calendar{padding:9px}.fresh-calendar-weekdays,.fresh-calendar-days{gap:2px}.fresh-calendar-day,.fresh-calendar-blank{height:36px}.fresh-calendar-head{grid-template-columns:34px 1fr 34px}.fresh-calendar-head button{width:34px;height:34px}}

/* R196 · Calendario compacto en escritorio y celular. */
.fresh-calendar{width:min(100%,320px);margin:5px 0 0;padding:8px;border-radius:12px;box-shadow:0 3px 10px rgba(81,45,27,.045)}.fresh-calendar-head{grid-template-columns:30px 1fr 30px;gap:4px;margin-bottom:4px}.fresh-calendar-head strong{font-size:12px}.fresh-calendar-head button{width:30px;height:28px;border-radius:8px;font-size:20px}.fresh-calendar-weekdays,.fresh-calendar-days{gap:2px}.fresh-calendar-weekdays{margin:1px 0 3px}.fresh-calendar-weekdays span{height:18px;font-size:8px}.fresh-calendar-day,.fresh-calendar-blank{height:29px;border-radius:7px;font-size:12px}.fresh-calendar-day.no-capacity .calendar-day-number::after{left:-3px;right:-3px;height:1.5px}.fresh-calendar-day .calendar-x{top:0;right:2px;font-size:10px}.fresh-calendar-legend{gap:10px;margin:5px 0 0;padding-top:5px}.fresh-calendar-legend span{gap:4px;font-size:9px}.calendar-dot{width:7px;height:7px}.fresh-calendar-legend .calendar-x{width:11px;height:11px;font-size:15px}.calendar-selected{margin:5px 0 0;padding:6px 8px;border-radius:7px;font-size:10px}.date-rule{margin-top:4px;font-size:9px}
@media(max-width:380px){.fresh-calendar{width:min(100%,320px);padding:6px}.fresh-calendar-head{grid-template-columns:28px 1fr 28px}.fresh-calendar-head button{width:28px;height:27px}.fresh-calendar-day,.fresh-calendar-blank{height:27px}}

/* R197 · Selector de fecha compacto con calendario bajo demanda. */
.pickup-date-field{position:relative;z-index:5;overflow:visible}.pickup-date-field>span{margin-bottom:1px}.date-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:6px 0 0;padding:11px 13px;border:1px solid #ddcfbf;border-radius:12px;background:#fffdf9;color:var(--profundo);text-align:left;cursor:pointer;font-size:14px;font-weight:750}.date-trigger:focus-visible{outline:3px solid rgba(126,125,65,.22);outline-offset:1px}.date-trigger:disabled{opacity:.66;cursor:wait}.date-trigger-icon{display:grid;place-items:center;width:26px;height:26px;flex:0 0 auto;border-radius:8px;background:#f3f4e7;color:var(--oliva);font-size:16px}.date-capacity-note{display:block;min-height:0;margin:5px 1px 0;color:var(--oliva);font-size:10px;line-height:1.35;font-weight:750}.date-capacity-note:empty{display:none}.fresh-calendar{position:absolute;top:calc(100% + 4px);left:0;z-index:40;width:min(320px,calc(100vw - 32px));max-width:100%;margin:0;padding:8px;border-radius:12px;box-shadow:0 10px 28px rgba(53,22,10,.2);background:#fffdf9}.fresh-calendar[hidden]{display:none}.fresh-calendar-head{grid-template-columns:30px 1fr 30px;gap:4px;margin-bottom:4px}.fresh-calendar-head strong{font-size:12px}.fresh-calendar-head button{width:30px;height:28px;border-radius:8px;font-size:20px}.fresh-calendar-weekdays,.fresh-calendar-days{gap:2px}.fresh-calendar-weekdays{margin:1px 0 3px}.fresh-calendar-weekdays span{height:18px;font-size:8px}.fresh-calendar-day,.fresh-calendar-blank{height:29px;border-radius:7px;font-size:12px}.fresh-calendar-day .calendar-x{top:0;right:2px;font-size:10px}.fresh-calendar-legend{gap:10px;margin:5px 0 0;padding-top:5px}.fresh-calendar-legend span{gap:4px;font-size:9px}.calendar-dot{width:7px;height:7px}.fresh-calendar-legend .calendar-x{width:11px;height:11px;font-size:15px}
@media(max-width:380px){.date-trigger{min-height:46px;padding:10px 11px;font-size:13px}.fresh-calendar{width:min(310px,calc(100vw - 28px));padding:6px}.fresh-calendar-head{grid-template-columns:28px 1fr 28px}.fresh-calendar-head button{width:28px;height:27px}.fresh-calendar-day,.fresh-calendar-blank{height:27px}}
