/* Universal mini-site App Shell. Segment themes only supply tokens. */
@font-face { font-family:"Conectou Sans"; src:url("/assets/fonts/manrope-variable.ttf") format("truetype"); font-style:normal; font-weight:200 800; font-display:swap; }
:root { color-scheme:dark; }
* { box-sizing:border-box; }
body.mini-site { margin:0; min-width:320px; background:#090908; color:var(--mini-text); font-family:var(--mini-font,"Conectou Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif); }
.mini-app-shell { position:relative; isolation:isolate; width:min(100%,760px); min-height:100svh; min-height:100dvh; margin:auto; overflow:hidden; background:linear-gradient(180deg,color-mix(in srgb,var(--mini-primary) 90%,#000),var(--mini-primary)); border-inline:1px solid color-mix(in srgb,var(--mini-accent) 34%,transparent); }
.mini-app-identity-background { position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:cover; opacity:.075; filter:saturate(.75) contrast(1.08); pointer-events:none; }
.mini-app-preview { position:sticky; top:0; z-index:20; padding:8px 16px; background:#fff3c8; color:#342400; font-size:12px; text-align:center; }
.mini-app-header { position:relative; min-height:74px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; padding:calc(12px + env(safe-area-inset-top)) 20px 12px; }
.mini-app-brand { display:flex; min-width:0; max-width:none; align-items:center; gap:10px; color:inherit; text-decoration:none; }
.mini-app-brand > span:last-child { display:grid; gap:2px; min-width:0; }
.mini-app-brand strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--mini-title-font,"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif); font-size:22px; font-weight:var(--mini-title-weight,500); line-height:1.02; letter-spacing:-.035em; }
.mini-app-brand small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--mini-accent); font-size:8.5px; font-weight:750; letter-spacing:.18em; text-transform:uppercase; }
.mini-app-mark,.mini-app-brand img { flex:0 0 clamp(36px,var(--mini-logo-size,44px),64px); width:clamp(36px,var(--mini-logo-size,44px),64px); height:clamp(36px,var(--mini-logo-size,44px),64px); display:grid; place-items:center; border:1px solid var(--mini-accent); border-radius:50%; color:var(--mini-accent); object-fit:cover; }
.mini-app-tools { position:relative; z-index:35; display:flex; flex:0 0 auto; align-items:center; gap:8px; margin-left:auto; }.mini-app-menu summary { display:grid; width:38px; height:38px; place-items:center; padding:0; border:1px solid color-mix(in srgb,var(--mini-accent) 72%,transparent); border-radius:10px; color:var(--mini-text); background:#0005; cursor:pointer; font-size:20px; line-height:1; }.mini-app-menu summary:focus-visible { outline:3px solid color-mix(in srgb,var(--mini-accent) 70%,white); outline-offset:3px; }.mini-app-menu { margin:0; color:var(--mini-text); }.mini-app-menu summary { list-style:none; }.mini-app-menu summary::-webkit-details-marker { display:none; }.mini-app-menu nav { position:absolute; top:46px; right:0; display:grid; min-width:190px; padding:8px; border:1px solid color-mix(in srgb,var(--mini-accent) 45%,transparent); border-radius:14px; background:color-mix(in srgb,var(--mini-primary) 97%,#000); box-shadow:0 18px 45px #0008; }.mini-app-menu nav a { padding:12px; color:inherit; text-decoration:none; font-size:13px; }.mini-app-menu nav a b { display:none; }
.mini-app-topnav { display:none; }
.mini-app-topnav[data-open] { position:absolute; z-index:30; top:70px; right:14px; display:grid; min-width:190px; padding:8px; border:1px solid color-mix(in srgb,var(--mini-accent) 45%,transparent); border-radius:14px; background:color-mix(in srgb,var(--mini-primary) 97%,#000); box-shadow:0 18px 45px #0008; }.mini-app-topnav[data-open] a { padding:12px; color:inherit; text-decoration:none; font-size:13px; }
.mini-app-view { min-height:0; padding-bottom:calc(77px + env(safe-area-inset-bottom)); }
.mini-app-hero { position:relative; display:grid; min-height:315px; overflow:hidden; isolation:isolate; border-block:1px solid color-mix(in srgb,var(--mini-accent) 35%,transparent); }
.mini-app-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,color-mix(in srgb,var(--mini-primary) 98%,transparent) 0%,color-mix(in srgb,var(--mini-primary) 80%,transparent) 47%,transparent 100%),linear-gradient(0deg,color-mix(in srgb,var(--mini-primary) 65%,transparent),transparent 50%); }
.mini-app-hero img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.86) contrast(1.06); }
.mini-app-hero-copy { align-self:end; width:min(100%,470px); padding:28px 22px 25px; }
.mini-app-hero-copy > p,.mini-app-eyebrow { margin:0 0 10px; color:var(--mini-accent); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.mini-app-hero h1,.mini-app-screen h1 { margin:0; font-family:var(--mini-title-font,"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif); font-size:var(--mini-title-size,clamp(34px,9vw,52px)); font-weight:var(--mini-title-weight,500); line-height:.95; letter-spacing:-.06em; overflow-wrap:anywhere; }
.mini-app-hero h1 { max-width:12ch; }
.mini-app-hero-copy > div:not(.mini-app-actions) { max-width:38ch; margin-top:13px; color:color-mix(in srgb,var(--mini-text) 88%,transparent); font-family:var(--mini-description-font,inherit); font-size:var(--mini-description-size,13px); font-weight:var(--mini-description-weight,480); letter-spacing:-.01em; line-height:1.55; }
.mini-app-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.mini-app-cta { display:inline-flex; min-height:43px; align-items:center; justify-content:center; gap:11px; padding:0 18px; border:1px solid var(--mini-accent); border-radius:999px; color:#1c170a; background:var(--mini-accent); text-decoration:none; font-family:var(--mini-button-font,inherit); font-size:var(--mini-button-size,11px); font-weight:var(--mini-button-weight,800); letter-spacing:.01em; }
.mini-app-cta-ghost { color:var(--mini-text); background:#0004; }
.mini-app-shortcuts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid color-mix(in srgb,var(--mini-accent) 21%,transparent); background:#0002; }
.mini-app-shortcuts a { display:grid; min-height:74px; place-content:center; gap:6px; padding:6px; border-right:1px solid color-mix(in srgb,var(--mini-accent) 16%,transparent); color:inherit; text-align:center; text-decoration:none; font-size:10px; }
.mini-app-shortcuts b { color:var(--mini-accent); font-size:21px; font-weight:400; }
.mini-app-rail-section,.mini-app-screen { padding:24px 20px; }
.mini-app-section-heading { display:flex; justify-content:space-between; gap:15px; align-items:baseline; margin-bottom:14px; }
.mini-app-section-heading h2 { margin:0; font-family:var(--mini-section-title-font,"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif); font-size:var(--mini-section-title-size,21px); font-weight:var(--mini-section-title-weight,600); line-height:1.12; letter-spacing:-.04em; }
.mini-app-section-heading a { color:inherit; font-size:11px; font-weight:700; text-decoration:none; white-space:nowrap; }
.mini-app-rail { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(158px,47%); gap:10px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:inline mandatory; scrollbar-width:none; padding:1px 0 6px; }
.mini-app-rail::-webkit-scrollbar { display:none; }
.mini-app-card { min-width:0; overflow:hidden; scroll-snap-align:start; border:1px solid color-mix(in srgb,var(--mini-accent) 40%,transparent); border-radius:14px; background:#08080688; }
.mini-app-card > img,.mini-app-card-fallback { display:block; width:100%; height:118px; object-fit:cover; background:linear-gradient(135deg,color-mix(in srgb,var(--mini-accent) 48%,#000),#20190f); }
.mini-app-card-fallback { display:grid; place-items:center; color:var(--mini-accent); font-size:30px; }
.mini-app-card > div { padding:10px; }
.mini-app-card h3 { margin:0; font-family:var(--mini-item-title-font,inherit); font-size:var(--mini-item-title-size,12px); font-weight:var(--mini-item-title-weight,700); line-height:1.25; }
.mini-app-card p { display:-webkit-box; overflow:hidden; margin:5px 0 0; color:color-mix(in srgb,var(--mini-text) 69%,transparent); font-family:var(--mini-item-description-font,inherit); font-size:var(--mini-item-description-size,10px); font-weight:var(--mini-item-description-weight,400); line-height:1.3; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.mini-app-card strong { display:block; margin-top:9px; color:var(--mini-accent); font-family:var(--mini-price-font,inherit); font-size:var(--mini-price-size,12px); font-weight:var(--mini-price-weight,700); }
.mini-app-bottomnav { position:fixed; z-index:15; bottom:0; left:50%; display:grid; grid-auto-flow:column; grid-auto-columns:1fr; width:min(100%,760px); min-height:66px; transform:translateX(-50%); border-top:1px solid color-mix(in srgb,var(--mini-accent) 25%,transparent); background:color-mix(in srgb,var(--mini-primary) 94%,#000); backdrop-filter:blur(18px); padding-bottom:env(safe-area-inset-bottom); }
.mini-app-bottomnav a { display:grid; place-content:center; gap:3px; min-height:58px; color:color-mix(in srgb,var(--mini-text) 73%,transparent); text-align:center; text-decoration:none; font-size:9px; }
.mini-app-more { position:relative; flex:1 1 0; min-width:0; }
.mini-app-more > summary { display:grid; place-content:center; gap:3px; min-height:58px; color:color-mix(in srgb,var(--mini-text) 73%,transparent); text-align:center; font-size:9px; list-style:none; cursor:pointer; }
.mini-app-more > summary::-webkit-details-marker { display:none; }
.mini-app-more > summary b { color:inherit; font-size:18px; font-weight:400; }
.mini-app-more > summary span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; }
.mini-app-more[data-current="true"] > summary { color:var(--mini-accent); }
.mini-app-more-panel { position:absolute; z-index:20; right:0; bottom:calc(100% + 10px); min-width:190px; padding:8px; border:1px solid color-mix(in srgb,var(--mini-accent) 45%,transparent); border-radius:14px; background:color-mix(in srgb,var(--mini-primary) 97%,#000); box-shadow:0 18px 45px #0008; }
.mini-app-more-panel nav { display:grid; }
.mini-app-more-panel a { display:flex; flex-direction:row; justify-content:flex-start; gap:9px; min-height:auto; padding:11px 12px; border-radius:8px; font-size:13px; text-align:left; }
.mini-app-more-panel a b { font-size:16px; }
.mini-app-more-panel a:hover,.mini-app-more-panel a:focus-visible { background:color-mix(in srgb,var(--mini-accent) 12%,transparent); }

.mini-app-bottomnav b { color:inherit; font-size:18px; font-weight:400; }.mini-app-bottomnav [aria-current="page"] { color:var(--mini-accent); }
.mini-app-screen { min-height:calc(100svh - 140px); min-height:calc(100dvh - 140px); }.mini-app-back { display:inline-block; margin-bottom:25px; color:inherit; font-size:12px; text-decoration:none; }.mini-app-intro { max-width:54ch; color:color-mix(in srgb,var(--mini-text) 70%,transparent); line-height:1.55; }.mini-app-screen .mini-app-cta { margin-top:18px; }.mini-app-rail-screen { grid-auto-flow:row; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); grid-auto-columns:auto; overflow:visible; margin-top:25px; }.mini-app-contact-grid { display:grid; gap:10px; margin-top:27px; }.mini-app-contact-grid article { padding:17px; border:1px solid color-mix(in srgb,var(--mini-accent) 30%,transparent); border-radius:13px; background:#0002; }.mini-app-contact-grid small { display:block; margin-bottom:5px; color:var(--mini-accent); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }.mini-app-contact-grid strong { font-size:14px; }.mini-app-contact-grid a { color:inherit; }.mini-app-empty { padding:22px; border:1px dashed color-mix(in srgb,var(--mini-accent) 45%,transparent); border-radius:13px; color:color-mix(in srgb,var(--mini-text) 70%,transparent); font-size:13px; }
@media (min-width:761px) { body.mini-site { padding:24px; }.mini-app-shell { border:1px solid color-mix(in srgb,var(--mini-accent) 35%,transparent); border-radius:26px; box-shadow:0 28px 75px #0007; }.mini-app-bottomnav { bottom:24px; border-inline:1px solid color-mix(in srgb,var(--mini-accent) 25%,transparent); border-radius:0 0 26px 26px; }.mini-app-hero { min-height:410px; }.mini-app-hero-copy { padding:42px; }.mini-app-rail { grid-auto-columns:31%; } }
@media (min-width:980px) { body.mini-site { background:radial-gradient(circle at top,#382715,#060605 60%); }.mini-app-shell { width:min(100%,1120px); }.mini-app-header { grid-template-columns:minmax(0,1fr) auto auto; padding-inline:35px; }.mini-app-menu { display:none; }.mini-app-topnav { display:flex; gap:17px; margin-left:0; }.mini-app-topnav a { display:inline-flex; align-items:center; color:inherit; font-size:12px; text-decoration:none; white-space:nowrap; }.mini-app-topnav a b { display:none; }.mini-app-bottomnav { display:none; }.mini-app-view { padding-bottom:0; }.mini-app-hero-copy { padding-left:48px; }.mini-app-rail-section,.mini-app-screen { padding-inline:35px; }.mini-app-rail { grid-auto-columns:23%; } }
@media (max-width:600px) { .mini-app-hero { min-height:300px; }.mini-app-hero-copy { padding:23px 20px 22px; }.mini-app-hero h1 { font-size:clamp(31px,9.2vw,39px); }.mini-app-card > img,.mini-app-card-fallback { height:108px; }.mini-app-bottomnav a { min-height:60px; } }
@media (max-width:359px) { .mini-app-shortcuts a { font-size:9px; }.mini-app-hero-copy { padding-inline:17px; }.mini-app-rail-section,.mini-app-screen { padding-inline:17px; }.mini-app-rail { grid-auto-columns:54%; } }

/* Premium compact composition: shared shell, cards and catalogue controls. */
.mini-app-preview { position:absolute; z-index:40; bottom:-11px; left:50%; display:block; width:auto; max-width:calc(100% - 32px); min-height:0; height:20px; transform:translateX(-50%); padding:3px 9px; border:1px solid #d7b35d66; border-radius:999px; background:#15100ce8; color:#fff4d3; box-shadow:0 8px 22px #0005; font-size:9px; letter-spacing:.015em; line-height:12px; white-space:nowrap; }
.mini-app-tools { position:absolute; top:18px; right:20px; }
.mini-app-brand { padding-right:88px; }
.mini-site-embedded .mini-app-preview { display:none; }
.mini-app-home { min-height:calc(100svh - 74px); min-height:calc(100dvh - 74px); display:flex; flex-direction:column; }
.mini-app-hero { min-height:clamp(278px,48dvh,380px); flex:0 0 auto; border-block-color:color-mix(in srgb,var(--mini-accent) 42%,transparent); }
.mini-app-hero::after { background:linear-gradient(90deg,color-mix(in srgb,var(--mini-primary) 99%,transparent) 0%,color-mix(in srgb,var(--mini-primary) 88%,transparent) 42%,color-mix(in srgb,var(--mini-primary) 21%,transparent) 100%),linear-gradient(0deg,color-mix(in srgb,var(--mini-primary) 72%,transparent),transparent 62%); }
.mini-app-hero img { object-position:64% center; filter:saturate(.92) contrast(1.09) brightness(.9); }
.mini-app-hero-copy { width:min(100%,460px); padding:clamp(21px,4.5vw,42px); }
.mini-app-hero-copy > p,.mini-app-eyebrow { font-size:9px; letter-spacing:.16em; }
.mini-app-hero h1 { max-width:11ch; font-size:clamp(32px,8vw,58px); letter-spacing:-.062em; }
.mini-app-hero-copy > div:not(.mini-app-actions) { max-width:33ch; margin-top:10px; font-size:12px; line-height:1.43; }
.mini-app-actions { gap:8px; margin-top:16px; }
.mini-app-cta { min-height:41px; padding-inline:16px; box-shadow:0 8px 18px color-mix(in srgb,var(--mini-accent) 17%,transparent); font-size:10.5px; }
.mini-app-cta:hover { transform:translateY(-1px); }
.mini-app-rail-section { flex:1 0 auto; padding-top:18px; padding-bottom:20px; }
.mini-app-section-heading { margin-bottom:11px; }
.mini-app-section-heading h2 { font-size:20px; }
.mini-app-section-heading a { color:var(--mini-accent); }
.mini-app-rail { grid-auto-columns:minmax(172px,54%); gap:11px; padding-bottom:4px; scroll-padding-inline:20px; }
.mini-app-category-card,.mini-app-card { position:relative; display:block; min-width:0; overflow:hidden; color:inherit; text-decoration:none; scroll-snap-align:start; border:1px solid color-mix(in srgb,var(--mini-accent) 45%,transparent); border-radius:16px; background:#080806; box-shadow:0 8px 20px #0003; isolation:isolate; }
.mini-app-category-card { aspect-ratio:1.07/.94; }
.mini-app-category-card::after,.mini-app-card::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,#080604eF 0%,#08060477 43%,transparent 73%); pointer-events:none; }
.mini-app-category-card img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.mini-app-category-card:hover img,.mini-app-category-card:focus-visible img { transform:scale(1.04); }
.mini-app-category-card > span { position:absolute; right:12px; bottom:11px; left:12px; display:grid; gap:2px; }
.mini-app-category-card strong { overflow:hidden; font:600 15px/1.1 "Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif; letter-spacing:-.02em; text-overflow:ellipsis; white-space:nowrap; }
.mini-app-category-card small { overflow:hidden; color:#fff8e9c9; font-size:9px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.mini-app-card { min-height:100%; background:#15100c; }
.mini-app-card > img,.mini-app-card-fallback { height:136px; }
.mini-app-card > div { padding:12px; }
.mini-app-card h3 { font:600 16px/1.1 "Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif; letter-spacing:-.018em; }
.mini-app-card p { font-size:10.5px; line-height:1.4; }
.mini-app-card strong { color:var(--mini-accent); }
.mini-app-card:focus-visible,.mini-app-category-card:focus-visible { outline:3px solid var(--mini-accent); outline-offset:3px; }
.mini-app-search { display:grid; gap:7px; margin:22px 0 6px; color:color-mix(in srgb,var(--mini-text) 76%,transparent); font-size:11px; font-weight:700; }
.mini-app-search input { width:100%; min-height:44px; padding:0 14px; border:1px solid color-mix(in srgb,var(--mini-accent) 40%,transparent); border-radius:12px; color:var(--mini-text); background:#0003; font:inherit; }
.mini-app-search input::placeholder { color:color-mix(in srgb,var(--mini-text) 52%,transparent); }
.mini-app-search input:focus-visible { outline:3px solid color-mix(in srgb,var(--mini-accent) 70%,white); outline-offset:2px; }
.mini-app-rail-screen { grid-auto-flow:row; grid-template-columns:repeat(auto-fit,minmax(182px,1fr)); grid-auto-columns:auto; gap:14px; margin-top:17px; }
.mini-app-rail-screen .mini-app-card { min-height:254px; }
.mini-app-rail-screen .mini-app-card > img,.mini-app-rail-screen .mini-app-card-fallback { height:156px; }
.mini-app-card[data-mini-hidden] { display:none; }
@media (max-height:680px) and (max-width:760px) { .mini-app-header { min-height:62px; padding-top:10px; padding-bottom:10px; }.mini-app-hero { min-height:252px; }.mini-app-hero-copy { padding:17px 20px; }.mini-app-hero-copy > div:not(.mini-app-actions) { display:none; }.mini-app-actions { margin-top:13px; }.mini-app-rail-section { padding-top:14px; }.mini-app-category-card { aspect-ratio:1.16/.9; }.mini-app-category-card small { display:none; } }
@media (min-width:761px) { .mini-app-home { min-height:calc(100dvh - 98px); }.mini-app-hero { min-height:420px; }.mini-app-hero-copy { padding:46px; }.mini-app-category-card { aspect-ratio:1.12/.88; }.mini-app-card > img,.mini-app-card-fallback { height:150px; } }
@media (min-width:980px) { .mini-app-tools { position:relative; top:auto; right:auto; }.mini-app-brand { padding-right:0; }.mini-app-header { min-height:82px; }.mini-app-home { min-height:0; }.mini-app-hero { min-height:470px; }.mini-app-hero-copy { padding-left:52px; }.mini-app-hero h1 { font-size:58px; }.mini-app-hero-copy > div:not(.mini-app-actions) { font-size:13px; }.mini-app-rail { grid-auto-columns:calc((100% - 24px) / 3); }.mini-app-category-card { aspect-ratio:1.34/.92; }.mini-app-rail-section { padding-top:28px; padding-bottom:34px; }.mini-app-rail-screen { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (prefers-reduced-motion:reduce) { .mini-app-category-card img,.mini-app-cta { transition:none; }.mini-app-hero-slide:not([hidden]) { animation:none; } }

/* Direct catalogue routes and resilient mobile chrome. */
body.mini-site { overflow-x:clip; }
.mini-app-shell { max-width:100%; }
.mini-app-header { grid-template-columns:minmax(0,1fr); position:relative; }
.mini-app-brand { min-width:0; max-width:calc(100% - 94px); padding-right:0; }
.mini-app-tools { position:absolute !important; z-index:50; top:50%; right:18px; display:flex !important; visibility:visible !important; opacity:1 !important; transform:translateY(-50%); }
.mini-app-menu summary { flex:0 0 38px; }
.mini-app-bottomnav { display:flex; grid-auto-flow:unset; grid-auto-columns:unset; overflow:hidden; }
.mini-app-bottomnav a { flex:1 1 0; min-width:0; padding-inline:3px; }
.mini-app-bottomnav a span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; }
.mini-app-category-links { display:flex; gap:8px; overflow-x:auto; margin:20px -2px 2px; padding:2px; scrollbar-width:none; }
.mini-app-category-links::-webkit-scrollbar { display:none; }
.mini-app-category-links a { flex:0 0 auto; padding:8px 11px; border:1px solid color-mix(in srgb,var(--mini-accent) 43%,transparent); border-radius:999px; color:inherit; background:#0002; font-size:11px; font-weight:700; text-decoration:none; }
.mini-app-product-detail article { overflow:hidden; border:1px solid color-mix(in srgb,var(--mini-accent) 42%,transparent); border-radius:18px; background:#08070680; box-shadow:0 16px 36px #0003; }
.mini-app-detail-media { height:min(42vh,340px); min-height:220px; background:linear-gradient(135deg,color-mix(in srgb,var(--mini-accent) 55%,#111),#21160d); }
.mini-app-detail-media img,.mini-app-detail-fallback { display:block; width:100%; height:100%; object-fit:cover; }
.mini-app-detail-fallback { display:grid; place-items:center; color:var(--mini-accent); font-size:42px; }
.mini-app-detail-copy { padding:21px; }
.mini-app-detail-copy .mini-app-intro { margin-bottom:0; }
.mini-app-detail-copy > strong { display:block; margin-top:16px; color:var(--mini-accent); font:600 22px/1.1 "Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif; }
body.mini-site[data-mini-hero="editorial"] .mini-app-hero::after { background:linear-gradient(90deg,color-mix(in srgb,var(--mini-primary) 99%,transparent) 0%,color-mix(in srgb,var(--mini-primary) 93%,transparent) 48%,transparent 82%); }
body.mini-site[data-mini-hero="immersive"] .mini-app-hero { min-height:clamp(335px,60dvh,510px); }
body.mini-site[data-mini-hero="immersive"] .mini-app-hero::after { background:linear-gradient(0deg,color-mix(in srgb,var(--mini-primary) 96%,transparent) 0%,color-mix(in srgb,var(--mini-primary) 50%,transparent) 52%,transparent 100%); }
body.mini-site[data-mini-align="center"] .mini-app-hero-copy { margin-inline:auto; text-align:center; }
body.mini-site[data-mini-align="center"] .mini-app-hero-copy h1,body.mini-site[data-mini-align="center"] .mini-app-hero-copy > div:not(.mini-app-actions) { margin-inline:auto; }
body.mini-site[data-mini-align="center"] .mini-app-actions { justify-content:center; }
body.mini-site[data-mini-cards="minimal"] .mini-app-category-card,body.mini-site[data-mini-cards="minimal"] .mini-app-card { border-radius:8px; box-shadow:none; }
body.mini-site[data-mini-cards="minimal"] .mini-app-category-card::after,body.mini-site[data-mini-cards="minimal"] .mini-app-card::after { opacity:.62; }
body.mini-site[data-mini-nav-density="comfortable"] .mini-app-bottomnav a { min-height:66px; font-size:10px; }
body.mini-site[data-mini-spacing="compact"] .mini-app-rail-section,body.mini-site[data-mini-spacing="compact"] .mini-app-screen,body.mini-site[data-mini-spacing="compact"] .mini-app-content-section { padding-top:16px; padding-bottom:16px; }
body.mini-site[data-mini-spacing="compact"] .mini-app-section-link { padding-block:18px; }
body.mini-site[data-mini-spacing="airy"] .mini-app-rail-section,body.mini-site[data-mini-spacing="airy"] .mini-app-screen,body.mini-site[data-mini-spacing="airy"] .mini-app-content-section { padding-top:34px; padding-bottom:34px; }
body.mini-site[data-mini-spacing="airy"] .mini-app-section-link { padding-block:32px; }
.mini-app-hero img { object-position:var(--mini-hero-focus,64% 50%); }
.mini-app-hero-slider { position:relative; overflow:hidden; }
.mini-app-hero-slide[hidden] { display:none; }
.mini-app-hero-slide:not([hidden]) { animation:mini-hero-in .38s ease both; }
.mini-app-hero-tabs { display:grid; grid-template-columns:repeat(auto-fit,minmax(76px,1fr)); border-block:1px solid color-mix(in srgb,var(--mini-accent) 20%,transparent); background:#0002; }
.mini-app-hero-tabs button { display:grid; min-width:0; min-height:88px; gap:5px; place-content:center; padding:13px 8px; border:0; border-right:1px solid color-mix(in srgb,var(--mini-accent) 16%,transparent); color:inherit; background:transparent; font:inherit; text-align:center; cursor:pointer; }
.mini-app-hero-tabs button:last-child { border-right:0; }
.mini-app-hero-tabs button[aria-selected="true"] { color:var(--mini-accent); background:color-mix(in srgb,var(--mini-accent) 8%,transparent); box-shadow:inset 0 -2px var(--mini-accent); }
.mini-app-hero-tabs button:focus-visible { position:relative; z-index:2; outline:3px solid var(--mini-accent); outline-offset:-3px; }
.mini-app-hero-tabs span { color:var(--mini-accent); font-size:20px; }.mini-app-hero-tabs strong { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.mini-app-hero-tabs small { overflow:hidden; color:color-mix(in srgb,var(--mini-text) 65%,transparent); font-size:9px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
@keyframes mini-hero-in { from { opacity:.25; transform:translateX(12px); } to { opacity:1; transform:none; } }
.mini-app-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid color-mix(in srgb,var(--mini-accent) 20%,transparent); background:#0002; }
.mini-app-features article { display:grid; min-width:0; gap:5px; place-content:center; padding:18px 9px; text-align:center; }
.mini-app-features article+article { border-left:1px solid color-mix(in srgb,var(--mini-accent) 16%,transparent); }
.mini-app-features span { color:var(--mini-accent); font-size:20px; }.mini-app-features strong { font-size:11px; }.mini-app-features small { color:color-mix(in srgb,var(--mini-text) 65%,transparent); font-size:9px; line-height:1.3; }
.mini-app-content-section { display:grid; gap:13px; padding:22px 20px; }
.mini-app-content-card { display:grid; grid-template-columns:minmax(112px,32%) 1fr; overflow:hidden; border:1px solid color-mix(in srgb,var(--mini-accent) 30%,transparent); border-radius:16px; background:#0002; }
.mini-app-content-card:not(:has(img)) { grid-template-columns:1fr; }.mini-app-content-card img { width:100%; height:100%; min-height:150px; object-fit:cover; }.mini-app-content-card>div { padding:18px; }.mini-app-content-card h2,.mini-app-section-link h2 { margin:0; font-family:var(--mini-section-title-font,"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif); font-size:var(--mini-section-title-size,22px); font-weight:var(--mini-section-title-weight,600); line-height:1.05; }.mini-app-content-card p { margin:9px 0 0; color:color-mix(in srgb,var(--mini-text) 72%,transparent); font-family:var(--mini-body-font,inherit); font-size:var(--mini-body-size,12px); font-weight:var(--mini-body-weight,400); line-height:1.55; }
.mini-app-section-link { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 20px; border-top:1px solid color-mix(in srgb,var(--mini-accent) 20%,transparent); }
[data-media-ratio="square"]>img { aspect-ratio:1; } [data-media-ratio="portrait"]>img { aspect-ratio:4/5; } [data-media-ratio="landscape"]>img { aspect-ratio:4/3; }
.mini-app-card[data-media-ratio]>img,.mini-app-category-card[data-media-ratio]>img { height:auto; object-fit:cover; }.mini-app-detail-media[data-media-ratio] { height:auto; }.mini-app-detail-media[data-media-ratio]>img { height:auto; max-height:430px; object-fit:cover; }
body.mini-site[data-mini-header="transparent"] .mini-app-header { position:absolute; z-index:12; top:0; right:0; left:0; background:linear-gradient(180deg,#0009,transparent); }
body.mini-site[data-mini-header="transparent"] .mini-app-home { padding-top:0; }
body.mini-site[data-mini-header="transparent"] .mini-app-hero { min-height:clamp(350px,58dvh,520px); }
body.mini-site[data-mini-header="transparent"] .mini-app-hero-copy { padding-top:104px; }
@media (min-width:980px) {
  .mini-app-header { grid-template-columns:minmax(0,1fr) auto auto; }
  .mini-app-brand { max-width:none; }
  .mini-app-tools { position:relative !important; top:auto; right:auto; transform:none; }
  body.mini-site[data-mini-cards-visible="2"] .mini-app-rail { grid-auto-columns:calc((100% - 12px)/2); }
  body.mini-site[data-mini-cards-visible="3"] .mini-app-rail { grid-auto-columns:calc((100% - 24px)/3); }
  body.mini-site[data-mini-cards-visible="4"] .mini-app-rail { grid-auto-columns:calc((100% - 36px)/4); }
  body.mini-site[data-mini-cards-visible="2"] .mini-app-rail-screen { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.mini-site[data-mini-cards-visible="3"] .mini-app-rail-screen { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.mini-site[data-mini-cards-visible="4"] .mini-app-rail-screen { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:560px) { .mini-app-features { grid-template-columns:repeat(auto-fit,minmax(76px,1fr)); }.mini-app-features article { padding:15px 5px; }.mini-app-features article:nth-child(n) { border-top:0; }.mini-app-features small,.mini-app-hero-tabs small { display:none; }.mini-app-hero-tabs button { min-height:76px; padding:11px 4px; }.mini-app-content-card { grid-template-columns:1fr; }.mini-app-content-card img { max-height:210px; }.mini-app-section-link { align-items:flex-start; flex-direction:column; } }

/* Desktop uses the full header navigation; keep the dock exclusive to compact screens. */
@media (min-width:980px) {
  .mini-app-bottomnav { display:none !important; }
  .mini-app-view { padding-bottom:0; }
}

/* Segment presets share the App Shell, while retaining a recognisable visual
   rhythm for each business type. Content and actions remain configuration-led. */
.mini-site-barber .mini-app-shell,.mini-site-photography .mini-app-shell { background:#11100f; }
.mini-site-barber .mini-app-hero,.mini-site-photography .mini-app-hero { min-height:clamp(330px,58dvh,520px); }
.mini-site-barber .mini-app-hero::after,.mini-site-photography .mini-app-hero::after { background:linear-gradient(90deg,#0c0b0aeF,transparent 74%); }
.mini-site-clinic .mini-app-shell { background:#f9ffff; box-shadow:0 28px 75px #0b4c5530; }
.mini-site-clinic .mini-app-hero::after { background:linear-gradient(90deg,#f4fffff2 0%,#f4ffffc9 48%,transparent 100%); }
.mini-site-clinic .mini-app-category-card,.mini-site-clinic .mini-app-card { border-radius:13px; background:#fff; box-shadow:0 9px 25px #0a545016; }
.mini-site-beauty .mini-app-shell { background:#fff4f1; }
.mini-site-beauty .mini-app-hero::after { background:linear-gradient(90deg,#fff2eeeF 0%,#fff2eeb8 52%,transparent 100%); }
.mini-site-beauty .mini-app-category-card,.mini-site-beauty .mini-app-card { border-radius:24px; }
.mini-site-fitness .mini-app-shell { background:#071414; }
.mini-site-fitness .mini-app-hero::after { background:linear-gradient(90deg,#061110f2 0%,#061110b0 52%,transparent 100%); }
.mini-site-fitness .mini-app-cta { border-radius:999px; font-weight:800; }
.mini-site-realestate .mini-app-hero { min-height:clamp(335px,60dvh,540px); }
.mini-site-realestate .mini-app-hero::after { background:linear-gradient(0deg,#0b234ddd 0%,#0b234d45 52%,transparent 100%); }
.mini-site-realestate .mini-app-hero-copy { align-self:end; }
.mini-site-studio .mini-app-shell { background:#fbf5ed; box-shadow:0 28px 75px #42291a35; }
.mini-site-studio .mini-app-hero::after { background:linear-gradient(90deg,#fbf5edf2 0%,#fbf5edd2 48%,transparent 100%); }
.mini-site-studio .mini-app-hero h1 { max-width:13ch; }
.mini-site-studio .mini-app-category-card,.mini-site-studio .mini-app-card { border-radius:7px; box-shadow:none; }
.mini-site-photography .mini-app-hero-copy { align-self:center; }
body.mini-site { background:color-mix(in srgb,var(--mini-primary) 84%,#080808); }
.mini-site-clinic,.mini-site-beauty,.mini-site-studio { color-scheme:light; }
.mini-site-clinic .mini-app-menu summary,.mini-site-beauty .mini-app-menu summary,.mini-site-studio .mini-app-menu summary { background:#fff9; }
.mini-site-clinic .mini-app-hero img,.mini-site-beauty .mini-app-hero img,.mini-site-studio .mini-app-hero img { filter:none; }
.mini-app-hero-copy { position:relative; z-index:1; }
.mini-app-hero-copy h1 { text-wrap:balance; }
.mini-app-actions { align-items:center; }
.mini-app-actions .mini-app-cta { width:auto; min-width:138px; border-radius:999px; }
.mini-app-rail-section:has(.mini-app-empty) { display:none; }
@media (max-width:600px) { .mini-app-actions .mini-app-cta { min-width:0; } }

/* Final shared responsive rhythm for the eight editable presets. */
.mini-app-header { gap:12px; }
.mini-app-brand strong { font-size:clamp(18px,2.4vw,24px); }
.mini-app-brand small { font-size:9px; line-height:1.3; letter-spacing:.13em; }
.mini-app-menu nav { max-height:min(70dvh,420px); overflow-y:auto; }
.mini-app-menu nav a { border-radius:8px; font-size:14px; line-height:1.25; }
.mini-app-menu nav a:hover,.mini-app-menu nav a:focus-visible { background:color-mix(in srgb,var(--mini-accent) 12%,transparent); }
.mini-app-hero { min-height:clamp(340px,54dvh,510px); }
.mini-app-hero-copy { width:min(100%,530px); }
.mini-app-hero h1 { max-width:14ch; font-size:clamp(34px,6vw,62px); line-height:.98; letter-spacing:-.045em; overflow-wrap:normal; }
.mini-app-hero-copy > div:not(.mini-app-actions) { max-width:41ch; font-size:clamp(13px,1.2vw,15px); line-height:1.5; }
.mini-app-actions { gap:10px; }
.mini-app-actions .mini-app-cta { min-height:44px; padding-inline:18px; font-size:12px; line-height:1.2; text-align:center; }
.mini-app-hero-tabs button { min-height:88px; }
.mini-app-hero-tabs strong { font-size:12px; }
.mini-app-category-card strong { font-size:clamp(14px,1.4vw,17px); }
.mini-app-category-card small { font-size:10px; }
.mini-app-section-heading:has(a:only-child) { justify-content:flex-end; }
.mini-app-bottomnav a { font-size:10px; line-height:1.2; }
@media (min-width:761px) and (max-width:979px) {
  .mini-app-bottomnav { width:min(calc(100% - 48px),760px); }
  .mini-app-hero-copy { padding:38px; }
}
@media (max-width:600px) {
  .mini-app-header { min-height:64px; padding:10px 16px; }
  .mini-app-brand { max-width:calc(100% - 64px); gap:10px; }
  .mini-app-brand strong { font-size:19px; }
  .mini-app-brand small { font-size:8px; }
  .mini-app-tools { right:16px; }
  .mini-app-hero { min-height:clamp(365px,57dvh,520px); }
  .mini-app-hero-copy { padding:24px 20px 28px; }
  .mini-app-hero h1 { max-width:13ch; font-size:clamp(34px,9vw,44px); }
  .mini-app-hero-copy > div:not(.mini-app-actions) { display:block; max-width:32ch; font-size:13px; }
  .mini-app-actions .mini-app-cta { min-width:0; flex:0 1 auto; }
  .mini-app-hero-tabs { grid-template-columns:repeat(auto-fit,minmax(0,1fr)); }
  .mini-app-hero-tabs button { min-height:70px; padding:10px 5px; }
  .mini-app-hero-tabs strong { font-size:10px; white-space:normal; line-height:1.2; }
  .mini-app-rail-section { padding:20px 16px 25px; }
  .mini-app-rail { grid-auto-columns:minmax(145px,49%); }
  .mini-app-category-card { aspect-ratio:1.04/.9; }
  .mini-app-bottomnav { min-height:64px; }
  .mini-app-bottomnav a { min-height:58px; padding-inline:2px; }
  .mini-app-view { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
}
@media (max-width:359px) {
  .mini-app-brand strong { font-size:17px; }
  .mini-app-hero-copy { padding-inline:16px; }
  .mini-app-hero h1 { font-size:32px; }
  .mini-app-actions .mini-app-cta { min-height:40px; padding-inline:12px; font-size:11px; }
  .mini-app-bottomnav a { font-size:9px; }
}

/* Navigation control inside the mini-site header. */
.mini-app-nav-toggle { flex:0 0 38px; width:38px; height:38px; min-height:38px; padding:0; place-items:center; border:1px solid color-mix(in srgb,var(--mini-accent) 65%,transparent); border-radius:10px; color:var(--mini-text); background:color-mix(in srgb,var(--mini-primary) 82%,transparent); font:600 19px/1 system-ui,sans-serif; cursor:pointer; display:none; }
.mini-app-nav-toggle:hover { background:color-mix(in srgb,var(--mini-accent) 14%,var(--mini-primary)); }
.mini-app-nav-toggle:focus-visible { outline:3px solid var(--mini-accent); outline-offset:2px; }
.mini-app-topnav[hidden] { display:none !important; }
@media (min-width:980px) {
  .mini-app-nav-toggle { display:grid; }
  .mini-app-header:has(.mini-app-topnav[hidden]) { grid-template-columns:minmax(0,1fr) auto; }
  body.mini-site[data-mini-nav-collapsed] .mini-app-menu { display:block; }
  body.mini-site[data-mini-nav-collapsed] .mini-app-menu nav { top:48px; right:0; }
}

/* ==========================================================================
   Fase 4B — Links e galeria (componentes compartilhados)
   ========================================================================== */
.mini-app-links-list { display:grid; gap:10px; margin-top:18px; }
.mini-app-link-card { display:flex; align-items:center; gap:13px; min-height:58px; padding:11px 14px; border:1px solid color-mix(in srgb,var(--mini-accent) 42%,transparent); border-radius:14px; background:color-mix(in srgb,var(--mini-primary) 90%,#000); color:var(--mini-text); text-decoration:none; box-shadow:0 8px 20px #0003; transition:transform .18s ease,border-color .18s ease,background-color .18s ease; }
.mini-app-link-card:hover { transform:translateY(-1px); border-color:var(--mini-accent); }
.mini-app-link-card:focus-visible { outline:3px solid var(--mini-accent); outline-offset:2px; }
.mini-app-link-icon { flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--mini-accent) 16%,transparent); color:var(--mini-accent); font:700 16px/1 system-ui,sans-serif; }
.mini-app-link-copy { display:grid; gap:2px; min-width:0; flex:1 1 auto; }
.mini-app-link-copy strong { font-size:14px; line-height:1.3; overflow-wrap:anywhere; }
.mini-app-link-copy small { color:color-mix(in srgb,var(--mini-text) 68%,transparent); font-size:11.5px; line-height:1.4; overflow-wrap:anywhere; }
.mini-app-link-arrow { flex:0 0 auto; color:var(--mini-accent); font-size:15px; }

.mini-app-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.mini-app-gallery-item { position:relative; display:block; min-width:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--mini-accent) 30%,transparent); border-radius:14px; background:color-mix(in srgb,var(--mini-primary) 88%,#000); color:inherit; text-decoration:none; }
.mini-app-gallery-item:focus-visible { outline:3px solid var(--mini-accent); outline-offset:2px; }
.mini-app-gallery-media { display:block; overflow:hidden; aspect-ratio:4/3; background:#080806; }
.mini-app-gallery-media[data-media-ratio="square"] { aspect-ratio:1/1; }
.mini-app-gallery-media[data-media-ratio="portrait"] { aspect-ratio:3/4; }
.mini-app-gallery-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .24s ease; }
.mini-app-gallery-item:hover .mini-app-gallery-media img { transform:scale(1.025); }
.mini-app-gallery-copy { display:grid; gap:2px; padding:9px 11px 11px; }
.mini-app-gallery-copy strong { font-size:12.5px; line-height:1.3; overflow-wrap:anywhere; }
.mini-app-gallery-copy small { color:color-mix(in srgb,var(--mini-text) 66%,transparent); font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.mini-app-gallery-zoom { position:absolute; top:8px; right:8px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#000000b8; color:#fff; font-size:13px; }
.mini-app-lightbox { width:min(920px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); padding:0; border:0; border-radius:16px; background:#0b0a09; color:#f7f1e7; box-shadow:0 30px 80px #0009; }
.mini-app-lightbox::backdrop { background:#000000d9; }
.mini-app-lightbox-frame { position:relative; display:grid; gap:10px; padding:12px; }
.mini-app-lightbox-frame img { width:100%; max-height:calc(100dvh - 150px); object-fit:contain; border-radius:10px; }
.mini-app-lightbox-caption { margin:0; padding-inline:4px; font-size:13px; line-height:1.5; color:#f7f1e7; overflow-wrap:anywhere; }
.mini-app-lightbox-close { position:absolute; top:8px; right:8px; z-index:2; width:40px; height:40px; border:0; border-radius:50%; background:#000000b8; color:#fff; font-size:22px; line-height:1; cursor:pointer; }
.mini-app-lightbox-tools { display:flex; align-items:center; justify-content:center; gap:14px; }
.mini-app-lightbox-tools button { min-width:44px; min-height:44px; border:1px solid #ffffff3d; border-radius:10px; background:#1b1917; color:#fff; font-size:18px; cursor:pointer; }
.mini-app-lightbox-tools span { min-width:64px; text-align:center; font-size:12px; color:#cfc7ba; }
.mini-app-lightbox button:focus-visible { outline:3px solid var(--mini-accent); outline-offset:2px; }
@media (max-width:600px) {
  .mini-app-gallery-grid { gap:8px; }
  .mini-app-gallery-copy { padding:7px 9px 9px; }
}
@media (prefers-reduced-motion:reduce) {
  .mini-app-link-card,.mini-app-gallery-media img { transition:none; }
  .mini-app-link-card:hover { transform:none; }
  .mini-app-gallery-item:hover .mini-app-gallery-media img { transform:none; }
}

/* ==========================================================================
   Fase 5 — Premium Experience
   ========================================================================== */
body.mini-site {
  --p5-radius-sm:12px;
  --p5-radius-md:18px;
  --p5-radius-lg:26px;
  --p5-line:color-mix(in srgb,var(--mini-accent) 24%,transparent);
  --p5-line-strong:color-mix(in srgb,var(--mini-accent) 48%,transparent);
  --p5-ease:cubic-bezier(.2,.7,.2,1);
  --p5-shadow:0 18px 45px #0004;
  --p5-shadow-soft:0 8px 24px #0002;
  background:
    radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--mini-accent) 12%,transparent),transparent 36%),
    color-mix(in srgb,var(--mini-primary) 82%,#080808);
  -webkit-font-smoothing:antialiased;
}
body.mini-site .mini-app-shell {
  width:min(100%,780px);
  background:linear-gradient(160deg,color-mix(in srgb,var(--mini-primary) 96%,#000),var(--mini-primary) 58%,color-mix(in srgb,var(--mini-primary) 84%,#000));
  box-shadow:0 30px 90px #0008;
}
body.mini-site .mini-app-view { padding-bottom:calc(94px + env(safe-area-inset-bottom)); }
body.mini-site:not([data-mini-header="transparent"]) .mini-app-header {
  position:sticky;
  top:0;
  z-index:30;
  background:color-mix(in srgb,var(--mini-primary) 88%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--mini-accent) 16%,transparent);
  backdrop-filter:blur(18px);
}
body.mini-site .mini-app-brand strong { letter-spacing:-.025em; }
body.mini-site .mini-app-mark,
body.mini-site .mini-app-brand img { border:1px solid color-mix(in srgb,var(--mini-accent) 48%,transparent); box-shadow:0 8px 22px #0003; }
body.mini-site .mini-app-hero { overflow:hidden; }
body.mini-site .mini-app-hero img { filter:saturate(.94) contrast(1.05); }
body.mini-site .mini-app-hero-copy { text-shadow:0 2px 18px #0002; }
body.mini-site[data-layout-key] .mini-app-hero h1 {
  font-size:clamp(40px,7.4vw,76px);
  line-height:.92;
  letter-spacing:-.055em;
  text-wrap:balance;
}
body.mini-site[data-layout-key="editorial"] .mini-app-hero h1 { font-size:clamp(36px,5.6vw,62px); line-height:.95; }
body.mini-site[data-layout-key="minimal"] .mini-app-hero h1 { font-size:clamp(32px,5.2vw,52px); line-height:1; }
body.mini-site .mini-app-hero-copy > p:first-child,
body.mini-site .mini-app-eyebrow { letter-spacing:.16em; text-transform:uppercase; font-size:10px; font-weight:750; }
body.mini-site .mini-app-cta {
  min-height:46px;
  padding-inline:22px;
  border-radius:999px;
  font-weight:750;
  letter-spacing:.01em;
  box-shadow:0 12px 24px color-mix(in srgb,var(--mini-accent) 18%,transparent);
  transition:transform .2s var(--p5-ease),box-shadow .2s var(--p5-ease),background-color .2s var(--p5-ease);
}
body.mini-site .mini-app-cta:hover { transform:translateY(-2px); box-shadow:0 16px 30px color-mix(in srgb,var(--mini-accent) 26%,transparent); }
body.mini-site .mini-app-cta:active { transform:translateY(0) scale(.985); }
body.mini-site .mini-app-cta:focus-visible { outline:3px solid var(--mini-accent); outline-offset:3px; }
body.mini-site .mini-app-section-heading { margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid var(--p5-line); }
body.mini-site .mini-app-section-heading h2 { font-size:clamp(22px,3.2vw,34px); letter-spacing:-.045em; }
body.mini-site .mini-app-section-heading a { color:var(--mini-accent); font-size:11px; letter-spacing:.04em; }
body.mini-site .mini-app-rail-section,
body.mini-site .mini-app-screen,
body.mini-site .mini-app-content-section { padding:clamp(18px,3.6vw,38px) clamp(16px,4.2vw,46px); }
body.mini-site .mini-app-rail { gap:12px; scroll-padding-inline:clamp(16px,4.2vw,46px); }
body.mini-site .mini-app-category-card,
body.mini-site .mini-app-card {
  border-radius:var(--p5-radius-md);
  border-color:var(--p5-line);
  box-shadow:var(--p5-shadow-soft);
  transition:transform .22s var(--p5-ease),box-shadow .22s var(--p5-ease),border-color .22s var(--p5-ease);
}
body.mini-site .mini-app-category-card:hover,
body.mini-site .mini-app-card:hover { transform:translateY(-3px); border-color:var(--p5-line-strong); box-shadow:var(--p5-shadow); }
body.mini-site .mini-app-category-card img,
body.mini-site .mini-app-card img { transition:transform .45s var(--p5-ease); }
body.mini-site .mini-app-category-card:hover img,
body.mini-site .mini-app-card:hover img { transform:scale(1.045); }
body.mini-site .mini-app-category-card > span { right:14px; bottom:13px; left:14px; }
body.mini-site .mini-app-category-card strong { font-weight:600; letter-spacing:-.03em; }
body.mini-site .mini-app-card > div { padding:13px 14px 14px; }
body.mini-site .mini-app-card h3 { font-size:13px; letter-spacing:-.015em; }
body.mini-site .mini-app-card p { font-size:11px; line-height:1.45; }
body.mini-site .mini-app-card strong { margin-top:10px; }
body.mini-site .mini-app-content-card { border-radius:var(--p5-radius-md); border-color:var(--p5-line); }
body.mini-site .mini-app-content-card > div { padding:20px; }
body.mini-site .mini-app-content-card h2 { letter-spacing:-.04em; }
body.mini-site .mini-app-features { border-color:var(--p5-line); }
body.mini-site .mini-app-features article { padding:20px 10px; }
body.mini-site .mini-app-bottomnav {
  width:min(calc(100% - 20px),740px);
  bottom:10px;
  border:1px solid var(--p5-line);
  border-radius:20px;
  background:color-mix(in srgb,var(--mini-primary) 90%,transparent);
  box-shadow:0 14px 35px #0006;
  overflow:hidden;
}
body.mini-site .mini-app-bottomnav a { border-radius:15px; margin:4px 2px; transition:background-color .2s var(--p5-ease),color .2s var(--p5-ease); }
body.mini-site .mini-app-bottomnav a[aria-current="page"] { background:color-mix(in srgb,var(--mini-accent) 12%,transparent); }
body.mini-site .mini-app-more > summary { margin:4px 2px; border-radius:15px; }
body.mini-site .mini-app-links-list { gap:11px; }
body.mini-site .mini-app-link-card { border-radius:var(--p5-radius-md); padding:14px 16px; }
body.mini-site .mini-app-link-card:hover { transform:translateX(2px); }
body.mini-site .mini-app-gallery-item { border-radius:var(--p5-radius-md); }
body.mini-site .mini-app-gallery-media { border-radius:calc(var(--p5-radius-md) - 1px); }
body.mini-site .mini-app-gallery-copy { padding:11px 13px 13px; }
body.mini-site .mini-app-gallery-zoom { background:#000000c9; backdrop-filter:blur(4px); }

/* Controls injected by the shared carousel component. */
.mini-app-carousel-controls { display:flex; justify-content:flex-end; gap:7px; margin-top:9px; }
.mini-app-carousel-controls[hidden] { display:none; }
.mini-app-carousel-controls button {
  width:38px; height:38px; display:grid; place-items:center;
  border:1px solid var(--p5-line); border-radius:50%;
  background:color-mix(in srgb,var(--mini-primary) 82%,#000);
  color:var(--mini-text); font:600 16px/1 system-ui,sans-serif; cursor:pointer;
  transition:background-color .18s var(--p5-ease),border-color .18s var(--p5-ease),opacity .18s var(--p5-ease);
}
.mini-app-carousel-controls button:hover:not(:disabled) { border-color:var(--mini-accent); background:color-mix(in srgb,var(--mini-accent) 16%,var(--mini-primary)); }
.mini-app-carousel-controls button:focus-visible { outline:3px solid var(--mini-accent); outline-offset:2px; }
.mini-app-carousel-controls button:disabled { opacity:.35; cursor:default; }

body.mini-site .mini-app-category-card > span,
body.mini-site .mini-app-category-card strong { color:#fff; }
body.mini-site .mini-app-category-card small { color:#fff8e9d9; }

/* Preset identity: composition and rhythm, not just colour swaps. */
body.mini-site-restaurant .mini-app-hero h1 { font-family:var(--mini-title-font,"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif); font-weight:500; }
body.mini-site-restaurant .mini-app-category-card,
body.mini-site-restaurant .mini-app-card { border-radius:20px; }
body.mini-site-restaurant .mini-app-section-heading h2 { font-family:var(--mini-section-title-font,"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,serif); font-weight:600; }
body.mini-site-barber .mini-app-hero h1 { text-transform:uppercase; font-weight:800; letter-spacing:-.035em; }
body.mini-site-barber .mini-app-category-card,
body.mini-site-barber .mini-app-card { border-radius:5px; border-width:1px 1px 3px; }
body.mini-site-barber .mini-app-section-heading h2 { text-transform:uppercase; letter-spacing:.02em; font-weight:800; }
body.mini-site-clinic .mini-app-hero::after { background:linear-gradient(90deg,color-mix(in srgb,var(--mini-primary) 97%,white) 0 58%,color-mix(in srgb,var(--mini-primary) 72%,transparent) 80%,transparent 100%); }
body.mini-site-clinic .mini-app-hero-copy { text-shadow:none; }
body.mini-site-clinic .mini-app-category-card,
body.mini-site-clinic .mini-app-card { border-radius:18px; border-color:color-mix(in srgb,var(--mini-accent) 18%,transparent); }
body.mini-site-clinic .mini-app-section-heading h2 { font-family:var(--mini-section-title-font,"Conectou Sans",sans-serif); font-weight:700; letter-spacing:-.035em; }
body.mini-site-beauty .mini-app-hero h1 { font-family:var(--mini-title-font,Georgia,serif); font-style:italic; font-weight:500; }
body.mini-site-beauty .mini-app-category-card,
body.mini-site-beauty .mini-app-card { border-radius:28px; }
 body.mini-site-fitness .mini-app-hero h1 { text-transform:uppercase; font-weight:800; letter-spacing:-.025em; }
body.mini-site-fitness .mini-app-hero h1 { font-family:var(--mini-title-font,"Conectou Sans",Inter,ui-sans-serif,system-ui,sans-serif); }
body.mini-site-fitness .mini-app-cta { border-radius:8px; text-transform:uppercase; font-size:11px; letter-spacing:.08em; }
body.mini-site-fitness .mini-app-category-card,
body.mini-site-fitness .mini-app-card { border-radius:8px; border-width:1px 1px 4px; }
body.mini-site-realestate .mini-app-hero h1 { font-family:var(--mini-title-font,Georgia,serif); font-weight:500; }
body.mini-site-realestate .mini-app-category-card,
body.mini-site-realestate .mini-app-card { border-radius:3px; }
body.mini-site-realestate .mini-app-section-heading h2 { font-family:var(--mini-section-title-font,Georgia,serif); font-weight:500; }
body.mini-site-studio .mini-app-hero h1 { font-weight:500; letter-spacing:-.06em; }
body.mini-site-studio .mini-app-category-card,
body.mini-site-studio .mini-app-card { border-radius:2px; box-shadow:none; }
body.mini-site-studio .mini-app-section-heading h2 { font-family:var(--mini-section-title-font,Georgia,serif); font-weight:500; }
body.mini-site-photography .mini-app-hero h1 { font-weight:500; letter-spacing:-.065em; }
body.mini-site-photography .mini-app-category-card,
body.mini-site-photography .mini-app-card { border-radius:0; border-color:#ffffff26; box-shadow:none; }
body.mini-site-photography .mini-app-hero img { filter:grayscale(.12) contrast(1.08); }

/* Motion: shared, configurable and disabled by prefers-reduced-motion. */
@keyframes flex-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes flex-fade { from { opacity:0; } to { opacity:1; } }
@keyframes flex-lightbox-in { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference) {
  body.mini-site[data-motion="subtle"] .mini-app-hero-copy > *,
  body.mini-site[data-motion="dynamic"] .mini-app-hero-copy > * { animation:flex-rise .55s var(--p5-ease) both; }
  body.mini-site[data-motion="subtle"] .mini-app-hero-copy > *:nth-child(2),
  body.mini-site[data-motion="dynamic"] .mini-app-hero-copy > *:nth-child(2) { animation-delay:.06s; }
  body.mini-site[data-motion="subtle"] .mini-app-hero-copy > *:nth-child(3),
  body.mini-site[data-motion="dynamic"] .mini-app-hero-copy > *:nth-child(3) { animation-delay:.12s; }
  body.mini-site[data-motion="dynamic"] .mini-app-hero-copy > * { animation-duration:.7s; }
  body.mini-site[data-motion="dynamic"] .mini-app-cta:hover { transform:translateY(-3px) scale(1.01); }
  .mini-app-lightbox[open] { animation:flex-lightbox-in .28s var(--p5-ease) both; }
  .mini-app-lightbox[open]::backdrop { animation:flex-fade .22s ease both; }
}
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:flex-fade .18s ease both reverse; }
::view-transition-new(root) { animation:flex-rise .28s var(--p5-ease) both; }
@media (prefers-reduced-motion:reduce) {
  ::view-transition-old(root),::view-transition-new(root) { animation:none; }
}
body.mini-motion-ready [data-flex-reveal] { opacity:0; transform:translateY(10px); }
body.mini-motion-ready [data-flex-reveal].is-visible { opacity:1; transform:none; transition:opacity .45s var(--p5-ease) var(--reveal-delay,0ms),transform .45s var(--p5-ease) var(--reveal-delay,0ms); }
body[data-page-hidden] *, body[data-page-hidden] *::before, body[data-page-hidden] *::after { animation-play-state:paused !important; }
body.mini-site[data-motion="off"] *,
body.mini-site[data-motion="off"] *::before,
body.mini-site[data-motion="off"] *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
@media (max-width:600px) {
  body.mini-site .mini-app-bottomnav { width:calc(100% - 16px); bottom:8px; border-radius:18px; }
  body.mini-site .mini-app-view { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
  body.mini-site .mini-app-carousel-controls { margin-top:6px; }
  body.mini-site .mini-app-carousel-controls button { width:36px; height:36px; }
}
@media (min-width:761px) and (max-width:979px) {
  body.mini-site .mini-app-bottomnav { bottom:20px; width:min(calc(100% - 56px),740px); }
}
@media (min-width:980px) {
  body.mini-site .mini-app-shell { width:min(100%,1180px); }
}

