/* Secciones 05–06. Estilos acotados para conservar los bloques aprobados. */
.obrador{padding-top:110px;background:var(--cream)}
.obrador-intro{padding:0 7% 90px;max-width:1500px;margin:auto}
.obrador-intro .eyebrow{color:var(--raspberry);margin-bottom:30px}
.obrador-intro h2{font-family:var(--serif);font-size:clamp(48px,5.9vw,94px);font-weight:400;line-height:1.08;letter-spacing:-.02em;margin:0 0 30px}
.obrador-description{font-size:17px;line-height:1.8;margin:0 0 0 36%;max-width:570px}
.collection-scroll{position:relative}
.collection-stage{padding:0 0 22px;background:var(--cream)}
.collection-topline,.collection-bottomline{display:flex;justify-content:space-between;margin:0 5%;font-size:12px;letter-spacing:.15em;line-height:1.5}
.collection-topline{border-top:1px solid #2b1b1d33;padding:19px 0 23px}
.collection-bottomline{padding-top:22px;font-size:10px;letter-spacing:.12em}
.collection-window{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--pink) transparent;overscroll-behavior-x:contain}
.collection-window:focus-visible{outline:2px solid var(--raspberry);outline-offset:-3px}
.cake-track{display:flex;gap:4vw;padding:0 5vw;width:max-content;position:relative}
.cake-spread{width:64vw;height:650px;max-height:calc(100svh - 210px);min-height:440px;flex:none;display:grid;grid-template-columns:90px minmax(0,1fr);grid-template-rows:90px minmax(0,1fr) 58px;column-gap:20px;position:relative;scroll-snap-align:center;isolation:isolate}
.cake-number{font-family:var(--serif);font-size:76px;line-height:1;grid-column:1;grid-row:1;color:var(--raspberry);align-self:center}
.cake-spread h3{grid-column:2;grid-row:1;font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.1vw,65px);line-height:1.05;margin:0;align-self:center;letter-spacing:-.02em}
.cake-spread[data-cake="queso-fresa"] h3{font-size:clamp(26px,2.6vw,38px);padding-bottom:6px}
.photo-slot{position:relative;min-width:0;min-height:0;overflow:hidden;background:#e9e0d8}
.photo-slot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.photo-slot picture{display:block;width:100%;height:100%}
@media(hover:hover){.photo-slot:hover img{transform:scale(1.03)}}
.cake-spread>.photo-slot{grid-column:1/-1;grid-row:2}
.photo-pending{position:absolute;inset:0;display:grid;place-items:center;color:#726259;font-size:12px;letter-spacing:.13em;text-transform:uppercase;padding:24px;text-align:center}
.cake-spread:nth-child(3n+2) .photo-slot{background:#e5dcd3}.cake-spread:nth-child(3n) .photo-slot{background:#e9dfe0}
.cake-bottom{grid-column:1/-1;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #2b1b1d30}
.cake-caption{font-size:10px;letter-spacing:.13em}
.editorial-link{font-family:var(--sans);font-size:14px;line-height:1.5;background:transparent;border:0;padding:10px 0;color:inherit;display:inline-flex;align-items:center;gap:28px;white-space:nowrap}
.editorial-link span{display:inline-block;font-size:22px;transition:transform .3s}
.editorial-link:hover span,.editorial-link:focus-visible span{transform:translateX(6px)}
.editorial-link[aria-disabled=true]{cursor:default}
.cake-side{grid-template-columns:minmax(0,1fr) 150px;grid-template-rows:minmax(0,1fr) 64px 58px;padding-top:30px}
.cake-side>.photo-slot{grid-column:1;grid-row:1/3;margin-right:8px}
.cake-side .cake-number{grid-column:2;grid-row:1;align-self:start;font-size:100px;text-align:right}
.cake-side h3{grid-column:2;grid-row:1/3;writing-mode:vertical-rl;transform:rotate(180deg);justify-self:end;align-self:end;font-size:56px;max-height:calc(100% - 120px)}
.cake-number>.photo-slot{grid-row:2}
.cake-spread.cake-number{font-family:var(--sans);font-size:16px;line-height:normal;align-self:auto;color:var(--chocolate)}
.cake-spread.cake-number>.cake-number{position:absolute;right:-12px;top:0;font-size:180px;line-height:.9;color:#2b1b1d16;z-index:-1;grid-column:auto;grid-row:auto}
.cake-spread.cake-number h3{grid-column:1/-1;align-self:end;padding-bottom:20px}
.cake-spread.cake-number>.photo-slot{margin-right:8%;margin-left:0}
.collection-end{display:flex;justify-content:flex-end;padding:28px 7% 100px}
.collection-end .editorial-link{border-bottom:1px solid var(--chocolate);padding-bottom:14px}
.horizontal-story .collection-stage{position:sticky;top:86px;height:calc(100svh - 86px);display:flex;flex-direction:column}
.horizontal-story .collection-window{overflow:clip;flex:1;min-height:0;scroll-snap-type:none}
.horizontal-story .cake-track{height:100%;will-change:transform}
.horizontal-story .cake-spread{height:100%;max-height:none;min-height:0}
.horizontal-story .collection-topline,.horizontal-story .collection-bottomline{flex:none}
.custom-cake{background:var(--chocolate);color:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;padding:100px 6% 110px;align-items:start}
.custom-visual{padding-top:20px}
.custom-photo{height:730px;max-height:85svh;min-height:440px;position:relative;transition:box-shadow .5s}
.custom-photo .photo-slot{height:100%;background:#382629;position:relative}
.custom-photo .photo-pending{color:#c6b6b7}
.custom-visual-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;padding:20px 0;border-bottom:1px solid #f7f3ed33;gap:16px}
.custom-intro .eyebrow{color:var(--pink);margin-bottom:25px}
.custom-intro h2{font-family:var(--serif);font-size:clamp(40px,3.65vw,62px);font-weight:400;line-height:1.12;letter-spacing:-.02em;margin:0 0 26px}
.custom-intro h2 em{font-size:.88em}
.custom-intro>p:last-child{font-size:16px;line-height:1.8;color:#f7f3edd9;margin:0 0 40px}
.flavor-group{border:0;padding:0;margin:0 0 30px;min-width:0}
.flavor-group legend{font-size:12px;letter-spacing:.14em;margin:0 0 16px;padding:0}
.flavor-options{display:flex;flex-wrap:wrap;gap:9px}
.flavor-chip{position:relative;display:block;cursor:pointer;max-width:100%}
.flavor-chip input{position:absolute;opacity:0;left:10px;top:15px;width:1px;height:1px;margin:0}
.flavor-chip span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 16px;border:1px solid #f7f3ed55;font-size:14px;line-height:1.4;transition:background .25s,border-color .25s,color .25s,transform .25s}
.flavor-chip:hover span{border-color:var(--pink);background:#f7f3ed0a;transform:translateY(-2px)}
.flavor-chip input:checked+span{background:var(--raspberry);border-color:var(--raspberry);color:white}
.flavor-chip input:focus-visible+span{outline:2px solid var(--cream);outline-offset:4px}
.flavor-result{min-height:119px;margin:6px 0 26px;border-top:1px solid #f7f3ed33;border-bottom:1px solid #f7f3ed33;padding:20px 0}
.flavor-result-inner{opacity:0;transform:translateY(12px);transition:opacity .4s,transform .4s}
.flavor-result.is-complete .flavor-result-inner{opacity:1;transform:none}
.selection-title{font-family:var(--serif);font-size:32px;line-height:1.15;color:var(--pink);margin:0 0 8px}
.selection-combination{font-size:14px;line-height:1.6;margin:0}
.has-selection .custom-photo{box-shadow:12px 12px 0 -1px var(--raspberry)}
.custom-action>p{font-size:15px;line-height:1.6;margin:0 0 18px}
.create-cake-button{width:100%;border:1px solid var(--raspberry);background:var(--raspberry);color:white;font-family:var(--sans);font-size:13px;letter-spacing:.1em;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:24px;transition:color .3s,background .3s,border-color .3s}
.create-cake-button span{font-size:24px;line-height:1;transition:transform .3s}
.create-cake-button:hover,.create-cake-button:focus-visible{background:var(--cream);border-color:var(--cream);color:var(--chocolate)}
.create-cake-button:hover span{transform:translateX(5px)}
.entrance-item{opacity:1;transform:none;transition:opacity .75s,transform .75s cubic-bezier(.2,.7,.2,1)}
.custom-intro{transition-delay:.1s}.flavor-choices{transition-delay:.2s}.custom-action{transition-delay:.3s}
.awaiting-entrance .entrance-item{opacity:0;transform:translateY(22px)}
.awaiting-entrance .custom-visual{transform:translate(-24px,12px)}
@media(min-width:1600px){.custom-cake{gap:8%;padding-left:8%;padding-right:8%}.custom-photo{height:860px}}
@media(max-width:1100px){.obrador{padding-top:80px}.obrador-intro{padding-bottom:65px}.obrador-description{margin-left:20%}.cake-spread{width:78vw;height:570px;max-height:none;min-height:0;grid-template-rows:90px minmax(0,1fr) 58px}.cake-side{grid-template-rows:minmax(0,1fr) 64px 58px}.cake-spread h3{font-size:45px}.cake-side h3{font-size:45px}.cake-side{grid-template-columns:minmax(0,1fr) 110px}.custom-cake{gap:5%;padding:75px 5%}.custom-photo{height:630px;max-height:none;min-height:0}.custom-intro h2{font-size:40px}.custom-break{display:none}.flavor-chip span{padding:11px 13px}.custom-intro>p:last-child br{display:none}}
@media(max-width:760px){.obrador{padding-top:65px}.obrador-intro{padding:0 6% 48px}.obrador-intro h2{font-size:47px}.obrador-intro h2 br{display:none}.obrador-description{font-size:15px;margin:0}.obrador-description br{display:none}.collection-topline span:last-child{display:none}.collection-topline{font-size:10px;padding:16px 0}.collection-bottomline{font-size:9px}.cake-track{gap:5vw;padding:0 6vw}.cake-spread{width:86vw;height:530px;grid-template-columns:58px minmax(0,1fr);grid-template-rows:110px minmax(0,1fr) 60px;column-gap:10px}.cake-number{font-size:53px}.cake-spread h3{font-size:36px;line-height:1.08}.cake-caption{font-size:8px;max-width:110px;line-height:1.5}.cake-bottom{gap:10px}.cake-bottom .editorial-link{font-size:13px;gap:15px}.photo-pending{font-size:10px;letter-spacing:.1em}.cake-side{grid-template-columns:minmax(0,1fr) 65px;grid-template-rows:minmax(0,1fr) 70px 60px;padding-top:20px}.cake-side h3{font-size:34px;max-height:calc(100% - 85px)}.cake-side .cake-number{font-size:58px}.cake-spread.cake-number>.cake-number{font-size:145px}.cake-spread.cake-number h3{padding-bottom:16px;max-width:75%}.collection-end{padding:25px 6% 65px}.custom-cake{display:flex;flex-direction:column;gap:50px;padding:60px 6% 70px}.custom-visual,.custom-content{width:100%;min-width:0}.custom-visual{padding-top:0}.custom-photo{height:auto;aspect-ratio:4/5;min-height:0}.custom-visual-caption{font-size:9px}.custom-intro h2{font-size:44px}.custom-intro>p:last-child{font-size:15px}.custom-intro .eyebrow{font-size:11px}.flavor-chip span{font-size:13px;min-height:46px;padding:12px 14px}.flavor-group legend{font-size:11px}.custom-action>p{font-size:14px}.has-selection .custom-photo{box-shadow:8px 8px 0 -1px var(--raspberry)}}
@media(max-width:760px){.cake-spread[data-cake="queso-fresa"] h3{font-size:26px;max-width:100%}.cake-side{grid-template-columns:58px minmax(0,1fr);grid-template-rows:110px minmax(0,1fr) 60px;padding-top:0}.cake-side>.photo-slot{grid-column:1/-1;grid-row:2;margin-right:0}.cake-side .cake-number{grid-column:1;grid-row:1;align-self:center;text-align:left;font-size:53px}.cake-side h3{grid-column:2;grid-row:1;writing-mode:horizontal-tb;transform:none;justify-self:stretch;align-self:center;max-height:none;font-size:36px}.cake-spread.cake-number>.photo-slot{margin-right:0}.cake-spread>.photo-slot:has(img){background:#edcdcf}.cake-spread>.photo-slot img{object-fit:cover}}
@media(prefers-reduced-motion:reduce){.cake-track,.entrance-item,.flavor-result-inner,.flavor-chip span{transition:none!important}.entrance-item{opacity:1!important;transform:none!important}.photo-slot:hover img{transform:none}.has-selection .custom-photo{box-shadow:none}.flavor-chip:hover span{transform:none}}
