:root{--brand-primary: #8a4b2f;--brand-secondary: #d98a3d;--brand-font: "Fraunces", Georgia, serif;--color-bg: #fbf6ef;--color-surface: #ffffff;--color-text: #2b2118;--color-text-muted: #7a6c60;--color-border: #e9dcca;--color-danger: #b3402c;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 26px;--shadow-sm: 0 2px 10px rgba(43, 33, 24, .06);--shadow-md: 0 16px 40px rgba(43, 33, 24, .12);--container-width: 1180px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--bottom-nav-height: 62px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--brand-font);font-weight:700;line-height:1.15;margin:0 0 .5em;color:var(--color-text)}p{margin:0 0 1em}button{font-family:inherit;cursor:pointer}.storefront-shell{min-height:100vh;display:flex;flex-direction:column}.storefront-shell__main{flex:1;width:100%}.full-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:20}.header__inner{max-width:var(--container-width);margin:0 auto;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.header__brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;flex-shrink:0}.header__logo{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--color-bg)}.header__logo--placeholder{display:flex;align-items:center;justify-content:center;background:var(--brand-primary);color:#fff;font-family:var(--brand-font);font-size:1.1rem}.header__name{font-family:var(--brand-font);font-size:1.25rem;font-weight:700;color:var(--color-text)}.header__nav{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.header__nav-group{display:flex;align-items:center;gap:var(--space-1)}.header__nav-divider{width:1px;height:22px;background:var(--color-border);margin:0 var(--space-2);flex-shrink:0}.header__link{text-decoration:none;color:var(--color-text-muted);font-weight:600;font-size:.92rem;padding:8px 14px;border-radius:999px;white-space:nowrap;transition:background-color .15s ease,color .15s ease}.header__link:hover{background:var(--color-bg);color:var(--color-text)}.header__link--active{background:var(--brand-primary);color:#fff}@media (max-width: 1024px){.header__inner{padding:var(--space-4) var(--space-5);gap:var(--space-3)}.header__nav{gap:var(--space-1)}.header__link{padding:7px 11px;font-size:.88rem}.header__nav-divider{margin:0 var(--space-1)}}@media (max-width: 768px){.header__link--primary,.header__nav-divider{display:none}}.footer{border-top:1px solid var(--color-border);margin-top:64px;padding:28px 24px;text-align:center;color:var(--color-text-muted);font-size:.9rem}.footer__inner p{margin:0 0 4px}.footer__powered{opacity:.7;font-size:.8rem}.bottom-nav{display:none}@media (max-width: 768px){.storefront-shell{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 16px #2b21180f}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;padding:6px 2px;text-decoration:none;color:var(--color-text-muted);font-size:.68rem;font-weight:700;letter-spacing:.01em}.bottom-nav__icon-wrap{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease,color .18s ease}.bottom-nav__item--active{color:var(--brand-primary)}.bottom-nav__item--active .bottom-nav__icon-wrap{background:var(--brand-primary);color:#fff;transform:translateY(-9px);box-shadow:0 8px 16px #2b211838;box-shadow:0 8px 16px color-mix(in srgb,var(--brand-primary) 45%,transparent)}}.page{max-width:var(--container-width);margin:0 auto;padding:48px 24px 80px}.page__title{font-size:clamp(1.8rem,3vw,2.4rem)}.page__subtitle{color:var(--color-text-muted);margin-top:-8px;margin-bottom:32px}.page__heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.page__heading-row .share-controls{padding:0;flex-shrink:0}.price-filter{margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.price-filter__header{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.price-filter__label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.price-filter__values{font-weight:700;color:var(--color-text);margin-right:auto}.price-filter__clear{border:none;background:none;color:var(--brand-primary);font-weight:700;font-size:.85rem;padding:4px;text-decoration:underline}.price-slider{position:relative;height:32px;display:flex;align-items:center}.price-slider__track{position:absolute;left:0;right:0;height:6px;border-radius:999px;background:var(--color-border)}.price-slider__track:after{content:"";position:absolute;top:0;bottom:0;left:var(--range-start);right:calc(100% - var(--range-end));border-radius:999px;background:var(--brand-primary)}.price-slider__input{position:absolute;left:0;right:0;width:100%;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none}.price-slider__input::-webkit-slider-runnable-track{background:transparent}.price-slider__input::-moz-range-track{background:transparent}.price-slider__input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:24px;height:24px;border-radius:50%;background:var(--brand-primary);border:3px solid var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer;margin-top:-9px}.price-slider__input::-moz-range-thumb{pointer-events:auto;width:24px;height:24px;border-radius:50%;background:var(--brand-primary);border:3px solid var(--color-surface);box-shadow:var(--shadow-sm);cursor:pointer}.section{margin-top:64px}.section__title{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:28px}.empty-note{color:var(--color-text-muted);font-style:italic}.hero{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-primary) 10%,var(--color-bg)) 0%,var(--color-bg) 100%);overflow:hidden}.hero--media .hero__media{position:relative;width:100%;aspect-ratio:16 / 7;max-height:480px;overflow:hidden}.hero--media .hero__media img,.hero--media .hero__media video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero--media .hero__media-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,black 35%,transparent),color-mix(in srgb,black 55%,transparent))}.hero--media .hero__inner{position:absolute;top:0;right:0;bottom:0;left:0;justify-content:center;overflow-y:auto}.hero--media .hero__title,.hero--media .hero__description{color:#fff}.hero--media .hero__description{color:#ffffffd9}.hero__inner{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:640px;margin:0 auto;padding:var(--space-8) var(--space-5) var(--space-6)}.hero__text{max-width:100%}.hero__title{font-size:clamp(1.8rem,5vw,2.75rem);line-height:1.15;letter-spacing:-.01em;margin:0 0 var(--space-3);color:var(--color-text)}.hero__description{font-size:clamp(.9rem,1.6vw,1.05rem);color:var(--color-text-muted);max-width:480px;margin:0 auto}.hero__actions{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-5)}.btn--pill{padding:9px 20px;font-size:.9rem;border-radius:999px}.btn--pill.btn--primary{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-primary) 18%,transparent),0 6px 16px color-mix(in srgb,var(--brand-primary) 35%,transparent)}.hero__gallery{position:relative;width:100%;max-width:560px;height:150px;margin-top:var(--space-8)}.hero__gallery-photo{position:absolute;width:108px;height:108px;object-fit:cover;border-radius:var(--radius-md);border:4px solid var(--color-surface);box-shadow:var(--shadow-md);top:12px;opacity:0;animation:hero-photo-enter .55s ease-out forwards,hero-float 5s ease-in-out infinite}.hero__gallery-photo--0{left:calc(50% - 54px);rotate:-9deg;z-index:3;animation-delay:0s,.55s}.hero__gallery-photo--1{left:calc(50% - 148px);rotate:-14deg;z-index:2;animation-delay:.12s,.95s}.hero__gallery-photo--2{left:calc(50% + 40px);rotate:11deg;z-index:2;animation-delay:.24s,1.35s}.hero__gallery-photo--3{left:calc(50% - 250px);top:26px;rotate:6deg;z-index:1;animation-delay:.36s,1.75s}.hero__gallery-photo--4{left:calc(50% + 148px);top:26px;rotate:-6deg;z-index:1;animation-delay:.48s,2.15s}@keyframes hero-photo-enter{0%{opacity:0;scale:.8;translate:0 14px}to{opacity:1;scale:1;translate:0 0}}@keyframes hero-float{0%,to{translate:0 0}50%{translate:0 -8px}}@media (max-width: 640px){.hero__inner{padding:var(--space-6) var(--space-4) var(--space-5)}.hero__gallery{max-width:340px;height:120px;margin-top:var(--space-6)}.hero__gallery-photo{width:78px;height:78px}.hero__gallery-photo--1{left:calc(50% - 100px)}.hero__gallery-photo--2{left:calc(50% + 24px)}.hero__gallery-photo--3{left:calc(50% - 160px);top:20px}.hero__gallery-photo--4{left:calc(50% + 92px);top:20px}}@media (max-width: 420px){.hero__gallery-photo--3,.hero__gallery-photo--4{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 26px;min-height:44px;font-weight:700;font-size:.95rem;text-decoration:none;border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.btn--primary:hover{box-shadow:0 10px 22px #2b211829;box-shadow:0 10px 22px color-mix(in srgb,var(--brand-primary) 45%,transparent)}.btn--primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn--outline{background:transparent;color:var(--brand-primary);border-color:var(--brand-primary)}.btn--outline:hover{background:#0000000a}.btn--large{padding:14px 32px;font-size:1.05rem;margin-top:8px}.cake-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:28px}.cake-card{display:block;text-decoration:none;color:inherit;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.cake-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #2b21181f;box-shadow:0 16px 34px color-mix(in srgb,var(--brand-primary) 22%,transparent)}.cake-card__image-wrap{position:relative;aspect-ratio:1 / 1;background:var(--color-bg)}.cake-card__image{width:100%;height:100%;object-fit:cover}.cake-card__image--placeholder{display:flex;align-items:center;justify-content:center;font-size:2.5rem}.cake-card__body{padding:16px 18px 20px}.cake-card__name{font-size:1.05rem;margin-bottom:4px}.cake-card__price{color:var(--brand-primary);font-weight:700;margin:0}.badge{position:absolute;top:12px;left:12px;background:var(--brand-secondary);color:#241a10;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:5px 10px;border-radius:999px}.badge--unavailable{position:static;display:inline-block;background:var(--color-border);color:var(--color-text-muted);margin-bottom:12px}.category-list{display:flex;flex-direction:column;gap:10px}.category-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;gap:4px}.category-tile__link{flex:1;min-width:0;text-decoration:none;color:inherit;display:flex;align-items:center;gap:14px;padding:10px 14px}.category-tile__thumb{width:52px;height:52px;flex-shrink:0;border-radius:var(--radius-sm);object-fit:cover;background:var(--color-bg)}.category-tile__thumb--placeholder{display:flex;align-items:center;justify-content:center;font-size:1.5rem}.category-tile__body{flex:1;min-width:0}.category-tile__name{margin:0;font-size:1rem;line-height:1.3}.category-tile__description{margin:2px 0 0;color:var(--color-text-muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tile__chevron{flex-shrink:0;color:var(--color-text-muted);font-size:1.4rem;padding-right:4px}.category-tile .share-btn--icon{margin-right:14px;flex-shrink:0}.share-controls{padding:4px 18px 16px}.share-controls__label{display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:8px}.share-controls__buttons{display:flex;flex-wrap:wrap;gap:8px}.share-btn{border:1px solid var(--color-border);background:var(--color-bg);border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600;color:var(--color-text);transition:background-color .15s ease,transform .1s ease}.share-btn:hover{transform:translateY(-1px)}.share-btn--whatsapp:hover{background:#dcf5e6}.share-btn--facebook:hover{background:#dceafc}.share-btn--instagram:hover{background:#fce3ef}.share-btn--copy:hover{background:#f1e7d6}.share-controls__hint{margin:8px 0 0;font-size:.82rem;color:var(--brand-primary)}.share-btn--icon{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-bg);border:1px solid var(--color-border);color:var(--brand-primary)}.share-btn--icon:hover{background:var(--color-border)}.cake-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}.cake-detail__main-image{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:1 / 1;background:var(--color-surface);box-shadow:var(--shadow-md)}.cake-detail__main-image img{width:100%;height:100%;object-fit:cover}.cake-detail__main-image--placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem}.cake-detail__thumbs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.cake-detail__thumb{width:64px;height:64px;border-radius:var(--radius-sm);overflow:hidden;padding:0;border:2px solid transparent;opacity:.7}.cake-detail__thumb img{width:100%;height:100%;object-fit:cover}.cake-detail__thumb--active{border-color:var(--brand-primary);opacity:1}.cake-detail__name{font-size:clamp(1.8rem,3vw,2.4rem)}.cake-detail__price{font-size:1.4rem;font-weight:700;color:var(--brand-primary)}.cake-detail__description{color:var(--color-text-muted);font-size:1.02rem;margin-bottom:24px}.cake-detail .share-controls{padding:0 0 24px}.cake-detail__cta-bar,.cake-detail__cta-summary{display:none}@media (max-width: 768px){.cake-detail__order-btn{display:none}.cake-detail__cta-bar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));z-index:25;padding:10px 16px;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -8px 24px #2b211814;box-shadow:0 -8px 24px color-mix(in srgb,var(--brand-primary) 16%,transparent)}.cake-detail__cta-summary{display:flex;flex-direction:column;min-width:0;flex:1}.cake-detail__cta-name{font-weight:700;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cake-detail__cta-price{color:var(--brand-primary);font-weight:700;font-size:1rem}.cake-detail__cta-bar .share-btn--icon{flex-shrink:0}.cake-detail__cta-bar .btn{flex-shrink:0;padding:11px 20px}}@media (max-width: 640px){.cake-detail__main-image{margin:0 -16px;border-radius:0}}.gallery-tabs{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}.gallery-tabs__item{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-weight:600;font-size:.88rem;padding:9px 16px;min-height:40px;border-radius:999px;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.gallery-tabs__item:hover{border-color:var(--brand-primary);color:var(--color-text)}.gallery-tabs__item--active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.gallery-grid__item{padding:0;border:none;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1 / 1;background:var(--color-surface);box-shadow:var(--shadow-sm)}.gallery-grid__item img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.gallery-grid__item:hover img{transform:scale(1.05)}.lightbox{text-align:center}.lightbox img{border-radius:var(--radius-md);max-height:70vh;margin:0 auto 16px}.about{max-width:640px}.about__logo{width:96px;height:96px;border-radius:50%;object-fit:cover;margin-bottom:24px;box-shadow:var(--shadow-sm)}.about__description{font-size:1.05rem;color:var(--color-text-muted)}.contact-card{max-width:480px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:8px}.contact-card__row{display:flex;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;color:var(--color-text);font-weight:600;border-bottom:1px solid var(--color-border)}.contact-card__row:last-child{border-bottom:none}.contact-card__row:not(.contact-card__row--static):hover{color:var(--brand-primary)}.contact-card__icon{font-size:1.2rem}.state{text-align:center;padding:48px 16px}.state__title{font-family:var(--brand-font);font-size:1.3rem;font-weight:700;margin-bottom:8px}.state__message{color:var(--color-text-muted);margin-bottom:16px}.spinner{width:32px;height:32px;margin:0 auto 16px;border:3px solid var(--color-border);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100dvh;background:#140e088c;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;z-index:100}.modal-panel{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);padding:32px;max-width:560px;width:100%;max-height:100%;overflow-y:auto;box-shadow:var(--shadow-md);margin:auto}.modal-panel__close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.6rem;line-height:1;color:var(--color-text-muted)}.order-form h3{margin-bottom:4px}.order-form__summary{color:var(--color-text-muted);margin-bottom:24px}.order-form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:var(--color-text-muted);margin-bottom:16px}.order-form input,.order-form select,.order-form textarea{font-family:inherit;font-size:1rem;padding:12px 14px;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-weight:400}.order-form textarea{min-height:88px}.order-form input:focus,.order-form select:focus,.order-form textarea:focus{outline:2px solid var(--brand-secondary);outline-offset:1px}.order-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.order-form__fieldset{border:none;padding:0;margin:0 0 16px;display:flex;gap:20px}.order-form__fieldset legend{font-size:.88rem;font-weight:600;color:var(--color-text-muted);margin-bottom:8px;padding:0}.order-form__radio{flex-direction:row;align-items:center;gap:8px;padding:8px 0;min-height:44px;font-weight:500;color:var(--color-text)}.order-form__radio input{width:18px;height:18px;flex-shrink:0}.order-form__error{color:var(--color-danger);font-weight:600;margin-bottom:12px}.order-form__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.order-form--success h3{font-size:1.4rem}@media (max-width: 860px){.cake-detail{grid-template-columns:1fr}}@media (max-width: 640px){.header__inner{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.header__name{font-size:1.1rem}.page{padding:24px 16px 56px}.cake-grid{grid-template-columns:repeat(2,1fr);gap:14px}.cake-card__body{padding:10px 12px 14px}.cake-card__name{font-size:.95rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.order-form__row{grid-template-columns:1fr}.modal-backdrop{align-items:flex-end;padding:0}.modal-panel{max-width:100%;max-height:92vh;max-height:92dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom,0px));margin:0}.order-form__actions{flex-direction:column-reverse;align-items:stretch}.order-form__actions .btn{width:100%}}@media (max-width: 768px){.page--cake-detail{padding-bottom:100px}}
