/* Frann Cakes — interações táteis, ilustração de camadas e contatos sociais. */
[data-draggable-sticker]{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:auto!important;outline-offset:5px;z-index:8}
[data-draggable-sticker]:active,[data-draggable-sticker].is-dragging{cursor:grabbing}
[data-draggable-sticker].has-dragged{animation:none!important;translate:var(--drag-x,0px) var(--drag-y,0px)!important;transition:none!important}
[data-draggable-sticker]:focus-visible{outline:3px solid #9a355b;outline-offset:5px}
.collection-decal[data-draggable-sticker],.occasion-sticker[data-draggable-sticker]{pointer-events:auto}
.cake-explainer{position:relative;display:grid;grid-template-columns:.68fr 1.32fr;align-items:center;gap:28px;margin-bottom:70px;padding:50px 5%;border-radius:28px;background:radial-gradient(circle at 5% 90%,#8b4763 0,transparent 26%),linear-gradient(135deg,#53162f,#361122);color:#fff8ef;overflow:hidden}
.cake-explainer::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background:radial-gradient(circle at 11% 16%,#efba8e 0 3px,transparent 4px),radial-gradient(circle at 91% 16%,#f9d783 0 3px,transparent 4px),radial-gradient(circle at 84% 86%,#e2a3ac 0 3px,transparent 4px)}
.cake-explainer-copy,.cake-explainer-stage{position:relative;z-index:1}
.cake-explainer .eyebrow{color:#f6d888;margin-bottom:20px}
.cake-explainer h2{font-size:clamp(47px,5vw,76px);margin:0 0 23px}
.cake-explainer-copy>p:not(.eyebrow){max-width:370px;font-size:14px;line-height:1.7;color:#f1dfe4}
.cake-explainer .cake-disclaimer{margin-top:20px;padding-left:15px;border-left:2px solid #f6db88;font-size:11px!important;color:#e8c9d1!important}
.cake-tap-hint{display:inline-block;margin-top:16px;font-size:11px;font-weight:700;color:#f6db88;letter-spacing:.04em}
.cake-explainer-stage{min-width:0;text-align:center}
.cake-model-button{position:relative;display:grid;place-items:center;width:100%;max-width:620px;min-height:380px;margin:auto;padding:0;border:0;border-radius:25px;background:radial-gradient(circle at 50% 64%,#f8e9d0,#e8baac 67%,#bd7692);box-shadow:inset 0 0 0 1px #fff5,0 18px 40px #17071266;cursor:pointer;overflow:hidden}
.cake-model-button::before{content:"";position:absolute;inset:22px;border:1px dashed #fff9;border-radius:18px;pointer-events:none}
.cake-model{display:block;width:min(100%,520px);height:auto;max-height:420px;filter:drop-shadow(0 18px 12px #4a1e2870);transition:transform .6s ease}
.cake-model-button:hover .cake-model{transform:scale(1.025)}
.cake-piece{transition:transform .75s cubic-bezier(.2,.82,.2,1);transform-box:fill-box;transform-origin:center}
.cake-model-button[aria-expanded="true"] .cake-topping{transform:translateY(-76px)}
.cake-model-button[aria-expanded="true"] .cake-chocolate{transform:translateY(-32px)}
.cake-model-button[aria-expanded="true"] .cake-body{transform:translateY(20px)}
.cake-model-button[aria-expanded="true"] .cake-plate{transform:translateY(32px)}
.cake-model-callout{position:absolute;right:20px;bottom:18px;display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:99px;background:#fff8e9;color:#57172e;box-shadow:0 5px 0 #c48c79;font-size:11px;font-weight:700;transform:rotate(-3deg)}
.cake-model-callout span{color:#a94665;font-size:18px}
.cake-layer-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-height:0;opacity:0;transform:translateY(-8px);overflow:hidden;list-style:none;margin:0;padding:0;transition:max-height .55s,opacity .35s,transform .55s}
.cake-explainer-stage.is-exploded .cake-layer-notes{max-height:220px;opacity:1;transform:none;padding-top:18px}
.cake-layer-notes li{padding:15px 13px;border:1px solid #fff4;border-radius:14px;background:#fff2;text-align:left}
.cake-layer-notes strong{display:block;margin-bottom:5px;color:#f8de94;font-size:11px}
.cake-layer-notes span{display:block;color:#fcecf0;font-size:11px;line-height:1.5}
.faq summary{position:relative;padding-right:58px}
.faq summary .faq-open-icon{position:absolute;right:0;top:50%;display:grid;place-items:center;width:38px;height:38px;margin-top:-19px;border:1px solid #efd7c8;border-radius:12px;background:linear-gradient(145deg,#fff8e9,#f6d98b);box-shadow:0 4px 0 #d1a8a0;color:var(--wine);transform:rotate(8deg);transition:transform .25s,background .25s,box-shadow .25s}
.faq summary .faq-open-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.faq details[open] summary .faq-open-icon{transform:rotate(-10deg) translateY(-2px);background:linear-gradient(145deg,#ffe6df,#eeb1bc);box-shadow:0 6px 0 #b97d8f}
.faq-confetti{position:absolute;z-index:5;left:50%;top:50%;width:7px;height:12px;border-radius:3px;background:var(--confetti-color,#f5d87e);pointer-events:none;animation:faqBurst .8s ease-out forwards}
@keyframes faqBurst{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(.7)}70%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(1)}}
.footer-top{align-items:center}.footer-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-left:auto}
.footer-links .footer-social,.footer-links .back-top{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 15px;border:1px solid #d8bdb5;border-radius:99px;color:var(--wine);background:#fff9f0;font-size:11px;font-weight:700;text-decoration:none;box-shadow:0 3px 0 #ead2c9;transition:transform .2s,box-shadow .2s,background .2s}
.footer-links .footer-social:hover,.footer-links .back-top:hover{transform:translateY(-3px);background:#f9e5d6;box-shadow:0 6px 0 #ead2c9;text-decoration:none}
.footer-links .footer-social-whatsapp{background:#f6db88;border-color:#e8c174}
.footer-links svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.footer-links svg .icon-dot{fill:currentColor;stroke:none}
@media(max-width:1050px){.cake-explainer{grid-template-columns:.8fr 1.2fr}.cake-model-button{min-height:320px}.cake-explainer h2{font-size:52px}}
@media(max-width:760px){.cake-explainer{grid-template-columns:1fr;gap:20px;margin-bottom:46px;padding:40px 6% 32px;border-radius:21px}.cake-explainer h2{font-size:49px}.cake-explainer-copy>p:not(.eyebrow){font-size:13px}.cake-model-button{min-height:310px}.cake-model{max-height:350px}.cake-layer-notes{grid-template-columns:1fr}.cake-explainer-stage.is-exploded .cake-layer-notes{max-height:370px}.cake-layer-notes li{padding:11px 13px}.cake-model-callout{right:13px;bottom:12px;font-size:10px}.footer-top{align-items:flex-start}.footer-links{width:100%;justify-content:flex-start;margin-left:0}.footer-links .footer-social,.footer-links .back-top{min-height:42px;padding:9px 12px;font-size:10px}.footer-links .back-top{margin-left:0}}
@media(max-width:359px){.cake-explainer h2{font-size:43px}.cake-model-button{min-height:275px}.cake-model-callout{font-size:9px}.footer-links{gap:7px}.footer-links .footer-social,.footer-links .back-top{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.cake-piece,.cake-model,.cake-layer-notes,.faq summary .faq-open-icon,.footer-links .footer-social,.footer-links .back-top{transition:none!important}.cake-model-button:hover .cake-model,.footer-links .footer-social:hover,.footer-links .back-top:hover{transform:none}.faq-confetti{display:none!important}}.cake-noscript{margin:16px 0 0;color:#fcecf0;font-size:11px;line-height:1.5}.cake-model-button:disabled{cursor:default}.cake-model-button:disabled .cake-model-callout{display:none}
.faq-confetti{width:8px;height:14px}
/* Revisão editorial solicitada: três bolos em uma linha e estudo de camadas mais reto. */
@media(min-width:980px){
 .collections{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:36px}
 .collections .collection,.collections .collection-wide{display:flex;flex-direction:column;grid-column:auto;grid-template-columns:none;min-height:0;background:#f6eee5}
 .collections .collection-copy,.collections .collection-wide .collection-copy{width:100%;min-height:245px;padding:25px 27px 21px}
 .collections .collection-number{font-size:50px}
 .collections .small-rule{margin:8px 0 13px}
 .collections .collection h2,.collections .collection-wide h2{font-size:clamp(28px,2.3vw,38px);max-width:none;margin-bottom:12px}
 .collections .collection p,.collections .collection-wide p{font-size:12px;max-width:330px;margin-bottom:16px}
 .collections .collection figure,.collections .collection-wide figure{width:100%;min-height:0;aspect-ratio:.9;flex:none;background:#ead7ca}
 .collections .collection img,.collections .collection-wide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
 .collections .collection:first-child img{object-position:center 48%}
 .collections .collection:nth-child(2) img{object-position:center 50%}
 .collections .collection-wide img{object-position:center 50%}
 .collections .collection .text-link{margin-top:auto}
}
.cake-explainer{gap:4%;padding:44px 4%;border-radius:2px;background:#4b172d;box-shadow:none}
.cake-explainer::before{display:none}
.cake-explainer-copy{padding-left:3%;border-left:1px solid #dca9b6}
.cake-explainer h2{letter-spacing:-.055em}
.cake-model-button{min-height:390px;border:1px solid #dbb6ab;border-radius:3px;background:#e9cec3;box-shadow:none}
.cake-model-button::before{display:none}
.cake-model{max-height:430px;filter:drop-shadow(0 13px 10px #4a1e2840)}
.cake-model-callout{right:16px;bottom:16px;border:1px solid #e0b7a6;border-radius:4px;background:#fff9ef;box-shadow:0 3px 0 #ca9d8d;transform:none}
.cake-layer-notes li{border:0;border-left:3px solid #f6db88;border-radius:2px;background:#fff1}
@media(max-width:979px) and (min-width:761px){
 .collections{grid-template-columns:1fr 1fr}
 .cake-explainer{grid-template-columns:.8fr 1.2fr}
}
@media(max-width:760px){
 .cake-explainer{grid-template-columns:1fr;gap:20px;padding:35px 5% 29px;border-radius:2px}
 .cake-explainer-copy{padding-left:15px}
 .cake-model-button{min-height:310px}
 .cake-model{max-height:350px}
 .cake-model-callout{right:10px;bottom:11px}
}
@media(max-width:359px){.cake-model-button{min-height:275px}}
@media(min-width:1061px){.cake-explainer{grid-template-columns:.82fr 1.18fr}.cake-explainer h2{font-size:clamp(55px,4.3vw,64px)}}

/* Estudo 3D do bolo: luz, relevo e profundidade preservando a ilustração interativa. */
.cake-model-button{isolation:isolate;perspective:1000px;background:radial-gradient(ellipse 58% 48% at 52% 69%,#fff9e8 0%,#f3dfcf 56%,transparent 88%),linear-gradient(145deg,#f1ddd4 0%,#d5b6af 100%);border:1px solid #d8b4aa;box-shadow:inset 0 1px 0 #fff9,inset 0 -24px 45px #9e6c6a1b,0 20px 32px #21091542}
.cake-model-button::before{display:block;inset:auto;left:14%;right:14%;bottom:6%;height:13%;border:0;border-radius:50%;background:#663b4861;filter:blur(15px);transform:scaleX(.82);z-index:0}
.cake-model-button::after{content:"";position:absolute;left:9%;right:9%;top:7%;height:38%;border-radius:50%;background:radial-gradient(ellipse,#fff8 0%,#fff0 72%);pointer-events:none;z-index:0}
.cake-model{position:relative;z-index:1;transform:rotateX(var(--cake-tilt-x,0deg)) rotateY(var(--cake-tilt-y,0deg));transform-style:preserve-3d;filter:drop-shadow(0 22px 12px #51273750);transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .4s}
.cake-model-button:hover .cake-model{transform:translateY(-5px) rotateX(var(--cake-tilt-x,0deg)) rotateY(var(--cake-tilt-y,0deg));filter:drop-shadow(0 29px 16px #51273760)}
.cake-piece{filter:drop-shadow(0 5px 3px #35161535)}
.cake-topping{filter:drop-shadow(0 5px 4px #35161577)}
.cake-model-callout{z-index:2}
.cake-model-button:focus-visible{outline:3px solid #ffe89b;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.cake-model,.cake-model-button:hover .cake-model{transform:none!important;transition:none!important}.cake-model-button:hover .cake-model{filter:drop-shadow(0 22px 12px #51273750)}}
