/* Sweet Cats Cafe — site-specific styles. Loaded after base.css. */

/* Fonts: self-declared latin subsets, display optional (no layout shift) */
@font-face{font-family:"Fredoka";font-style:normal;font-weight:500 600;font-display:optional;src:url(https://fonts.gstatic.com/s/fredoka/v17/X7n64b87HvSqjb_WIi2yDCRwoQ_k7367_DWu89U.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito";font-style:normal;font-weight:400 700;font-display:optional;src:url(https://fonts.gstatic.com/s/nunito/v32/XRXV3I6Li01BKofINeaB.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

h1,h2,h3{font-weight:600;letter-spacing:-.01em}
h4{font-weight:600}
.btn{font-weight:700;border-radius:999px}
.cjk{font-family:var(--font-cjk);font-weight:700;letter-spacing:.02em}

/* Header */
.brand{font-weight:600;gap:.5em;color:var(--ink)}
.brand .cjk{color:var(--brand);font-size:1.05em}
.site-header{background:color-mix(in srgb,#fff 90%,transparent)}

/* Hero: name-led, the cake photo cut into a dome */
.hero{padding-block:clamp(2rem,6vw,5rem) clamp(3rem,6vw,5.5rem);background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%)}
.hero .split{gap:clamp(2rem,5vw,4.5rem)}
@media(min-width:880px){.hero .split{grid-template-columns:1.15fr .85fr}}
.hero-name{font-family:var(--font-cjk);font-weight:800;color:var(--brand);font-size:clamp(3.4rem,11vw,7.5rem);line-height:1;letter-spacing:.04em;margin:0 0 var(--s-3)}
.hero h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem);line-height:1.08;margin-bottom:var(--s-4);max-width:16ch}
.hero .lede{color:var(--ink-2)}
.hero .actions{margin-top:var(--s-5)}
.open-line{display:flex;align-items:center;gap:.55em;margin-top:var(--s-5);font-size:var(--fs-sm);color:var(--ink-2)}
.open-line::before{content:"";width:.6em;height:.6em;border-radius:50%;background:var(--accent);flex:none}
.open-line strong{color:var(--ink)}

.dome{position:relative;aspect-ratio:3/4;border-radius:999px 999px var(--radius) var(--radius);overflow:hidden;background:var(--pink);box-shadow:0 0 0 10px var(--pink),0 30px 60px -30px rgba(163,25,79,.45);max-width:440px;margin-inline:auto;width:100%;animation:dome-in .9s var(--ease) both}
.dome img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
@keyframes dome-in{from{transform:scale(.94)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.dome{animation:none}}

/* Menu rows */
.menu-intro p{color:var(--ink-2)}
.list-rows{border-top-color:var(--pink)}
.list-rows li{border-bottom-color:var(--pink);padding-block:var(--s-5)}
.list-rows h3{font-size:var(--fs-xl);font-weight:600}
.list-rows p{font-size:var(--fs-md)}

/* Cakes */
.cakes{background:var(--pink)}
.cakes h2{max-width:18ch}
.cakes p{color:var(--ink)}
.cakes .strip{margin-top:var(--s-6);grid-auto-columns:minmax(240px,380px)}
.cakes figure{margin:0}
.cakes figure img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;width:100%;background:#fff}
.cakes figcaption{margin-top:var(--s-2);font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.cake-call{display:inline-block;margin-top:var(--s-2);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:600;color:var(--brand);text-decoration:none}
.cake-call:hover{text-decoration:underline}

/* Visit */
.hours{font-size:var(--fs-md)}
.hours dd{font-weight:700}
.map{border-radius:999px 999px var(--radius) var(--radius);border:0;box-shadow:0 0 0 8px var(--pink);aspect-ratio:4/5;max-width:460px;margin-inline:auto;width:100%}
@media(max-width:879px){.map{border-radius:var(--radius);aspect-ratio:4/3}}

/* Footer */
.site-footer{background:var(--ink);color:#EBDDE3}
.site-footer .footer-bottom{color:#CDB9C2}
.site-footer .brand .cjk{color:var(--pink)}
