/*
 * Cornicione — the A'luat Pizza world. The wood-fired oven: char fields own the chrome, flour owns
 * the reading surfaces, and the char blisters of a 48–72h dough are the only marks. San Marzano red
 * sits only on the edge that moves (the primary action, the active item, focus).
 *
 * Loaded only for brands whose theme.skin is "cornicione" (see src/lib/skins.ts). Every selector is
 * prefixed with #skin[data-skin] (an id on <body>): Astro scopes every compound of a selector with an
 * attribute, so only an id reliably outranks the blocks' scoped styles without !important.
 * Plain CSS on purpose (no nesting): older iPhones still visit restaurant sites.
 */

@font-face {
  font-family: 'Sofia Sans Extra Condensed';
  font-style: normal;
  font-weight: 1 1000;
  font-display: swap;
  src: url(fonts/sofia-sans-xcond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Sofia Sans Extra Condensed';
  font-style: normal;
  font-weight: 1 1000;
  font-display: swap;
  src: url(fonts/sofia-sans-xcond-latin.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: 'Sofia Sans';
  font-style: normal;
  font-weight: 1 1000;
  font-display: swap;
  src: url(fonts/sofia-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Sofia Sans';
  font-style: normal;
  font-weight: 1 1000;
  font-display: swap;
  src: url(fonts/sofia-sans-latin.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;
}

/* ── World ─────────────────────────────────────────────────────────────── */

/* Overscroll above the header and below the footer shows char, not a white gap. */
html:has(> #skin[data-skin='cornicione']) {
  background: #16110D;
  scrollbar-color: #8A8177 #EFEDE8;
}

#skin[data-skin='cornicione'] {
  --char: #16110D;
  --char-2: #231B15;
  --soot: #3B2F26;
  --ash: #6F6256;
  --flour: #EFEDE8;
  --parchment: #F8F7F4;
  --ink: #1A1511;
  --ink-2: #5A5048;
  --line: #D6D1C7;
  --field-line: #857A6F;
  --flour-dim: #B8B0A4;
  --smoke: #9A9186;
  --crust: #C98635;
  --tomato: #C42A1A;
  --tomato-deep: #A32214;
  --display: 'Sofia Sans Extra Condensed', 'Arial Narrow', sans-serif-condensed, sans-serif;
  --body: 'Sofia Sans', system-ui, sans-serif;

  /* The renderer's shared tokens, re-mapped so any block not styled below still belongs here. */
  --bg: var(--flour);
  --surface: var(--parchment);
  --surface-2: #E6E3DC;
  --text: var(--ink);
  --muted: var(--ink-2);
  --brand-primary: var(--char);
  --brand-secondary: var(--crust);
  --on-primary: var(--flour);
  --on-secondary: var(--char);
  --accent: var(--tomato);
  --on-accent: #FFFFFF;
  --heading-case: uppercase;
  --display-font: var(--display);
  --body-font: var(--body);
  --accent-font: var(--body);

  background: var(--flour);
  color: var(--ink);
  font-family: var(--body);
  font-size: 1.0625rem;
  line-height: 1.6;
}

#skin[data-skin='cornicione'] ::selection { background: var(--tomato); color: #FFFFFF; }

#skin[data-skin='cornicione'] :focus-visible {
  outline: 2px solid var(--tomato);
  outline-offset: 3px;
  border-radius: 2px;
}

#skin[data-skin='cornicione'] h1,
#skin[data-skin='cornicione'] h2,
#skin[data-skin='cornicione'] h3 {
  font-family: var(--display);
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.005em;
  text-wrap: balance;
}

#skin[data-skin='cornicione'] main h2 {
  font-size: clamp(2.5rem, 9.5vw, 4.25rem);
  line-height: 0.9;
  letter-spacing: 0.005em;
  text-align: left;
  margin: 0 0 1.5rem;
}

/* Labels above headings are not part of this world: the heading speaks for itself. */
#skin[data-skin='cornicione'] .eyebrow { display: none; }

/* The char blisters between two flour sections. */
#skin[data-skin='cornicione'] main > [data-block]:not([data-block-type='hero']):not([data-block-type='cta']) + [data-block] > section:not(.cta) {
  position: relative;
}
#skin[data-skin='cornicione'] main > [data-block]:not([data-block-type='hero']):not([data-block-type='cta']) + [data-block] > section:not(.cta)::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  height: 40px;
  background: url(rim-char.svg) 0 50% / auto 40px repeat-x;
  pointer-events: none;
}

/* ── Header ────────────────────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .site-header {
  background: var(--char);
  color: var(--flour);
  border-bottom: 0;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  /* The stamp and the order button sit on the content's column (76rem), not on the window edges. */
  padding: 0.5rem max(clamp(1rem, 4vw, 3rem), calc((100% - 76rem) / 2));
  gap: 1.5rem;
}
/* The stamp is a flour disc on black: `screen` melts the black square into the char field. */
#skin[data-skin='cornicione'] .site-header .brand img {
  height: 3.1rem;
  mix-blend-mode: screen;
}
#skin[data-skin='cornicione'] .site-header nav {
  gap: clamp(1.1rem, 2.4vw, 2rem);
  padding-block: 4px;
}
#skin[data-skin='cornicione'] .site-header nav a {
  color: var(--flour-dim);
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.22rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.85rem 0 0.7rem;
  border-bottom: 3px solid transparent;
  white-space: nowrap;
}
#skin[data-skin='cornicione'] .site-header nav a:hover { color: var(--flour); }
#skin[data-skin='cornicione'] .site-header nav a.active {
  color: var(--flour);
  border-bottom-color: var(--tomato);
}
#skin[data-skin='cornicione'] .header-cta {
  background: var(--tomato);
  color: #FFFFFF;
  border-radius: 3px;
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.22rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.72rem 1.15rem 0.64rem;
  transition: background-color 0.15s ease;
}
#skin[data-skin='cornicione'] .header-cta:hover {
  background: var(--tomato-deep);
  transform: none;
}

@media (max-width: 640px) {
  /* One row: the stamp, then the pages as a strip you can swipe. */
  #skin[data-skin='cornicione'] .site-header {
    flex-direction: row;
    align-items: center;
    gap: 0.9rem;
    padding-block: 0.35rem;
  }
  #skin[data-skin='cornicione'] .site-header .brand img { height: 2.75rem; }
  #skin[data-skin='cornicione'] .site-header nav {
    flex: 1;
    min-width: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    padding-inline: 4px 2rem;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 2.5rem), transparent);
    mask-image: linear-gradient(90deg, #000 calc(100% - 2.5rem), transparent);
  }
  #skin[data-skin='cornicione'] .site-header nav::-webkit-scrollbar { display: none; }
}

/* ── Hero: the oven mouth ──────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .hero.oven {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 0;
  overflow: visible;
  padding: clamp(1.25rem, 5vw, 4.5rem) clamp(1rem, 5vw, 3rem) clamp(2.75rem, 7vw, 4.5rem);
  background: var(--char);
  color: var(--flour);
}
/* Where the char field ends, it ends blistered. */
#skin[data-skin='cornicione'] .hero.oven::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 14px);
  height: 70px;
  background: url(edge-char.svg) 0 0 / auto 70px repeat-x;
  pointer-events: none;
}
#skin[data-skin='cornicione'] .oven-inner {
  max-width: 76rem;
  margin: 0 auto;
  display: grid;
  gap: clamp(2rem, 6vw, 3rem);
}
#skin[data-skin='cornicione'] .mouth-wrap {
  position: relative;
  width: min(100%, 40rem);
  margin: clamp(2.6rem, 11vw, 3.5rem) auto 0;
}
#skin[data-skin='cornicione'] .mouth {
  position: relative;
  margin: 0;
  aspect-ratio: 1.45;
  overflow: hidden;
  border-radius: 50% 50% 3px 3px / 64% 64% 3px 3px;
  background: var(--char-2);
}
#skin[data-skin='cornicione'] .mouth img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
}
/* The one authored moment: on arrival the oven catches — the photo comes up out of the dark. */
#skin[data-skin='cornicione'] .hero.oven .mouth img {
  animation: cornicione-kindle 1.1s cubic-bezier(0.16, 0.8, 0.24, 1) both;
}
@keyframes cornicione-kindle {
  from { filter: brightness(0.3) saturate(0.55); transform: scale(1.05); }
  to { filter: none; transform: none; }
}
/* The dome's shadow over the top of the mouth; the fire lights the floor. */
#skin[data-skin='cornicione'] .mouth::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(115% 95% at 50% 108%, transparent 52%, rgba(22, 17, 13, 0.6) 100%);
  pointer-events: none;
}
#skin[data-skin='cornicione'] .mouth .lip {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: url(arch-rim.svg) 0 0 / 100% 100% no-repeat;
  pointer-events: none;
}
#skin[data-skin='cornicione'] .keystone {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 0;
  width: clamp(5.25rem, 21vw, 7.5rem);
  height: auto;
  transform: translate(-50%, -54%);
  mix-blend-mode: screen;
}

#skin[data-skin='cornicione'] .hero.oven h1 {
  margin: 0 0 1.1rem;
  font-weight: 900;
  font-size: clamp(3.1rem, 13.4vw, 6rem);
  line-height: 0.86;
  letter-spacing: 0.004em;
  color: var(--flour);
}
#skin[data-skin='cornicione'] .hero.oven .subtitle {
  max-width: 36rem;
  margin: 0 0 1.6rem;
  font-size: clamp(1.05rem, 2.7vw, 1.2rem);
  line-height: 1.55;
  color: var(--flour-dim);
  opacity: 1;
}
#skin[data-skin='cornicione'] .hero.oven .actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}
#skin[data-skin='cornicione'] .hero.oven .btn,
#skin[data-skin='cornicione'] .menu-embed .btn,
#skin[data-skin='cornicione'] .cta .btn.primary,
#skin[data-skin='cornicione'] .contact-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  padding: 0.85rem 1.75rem 0.78rem;
  border: 0;
  border-radius: 3px;
  background: var(--tomato);
  color: #FFFFFF;
  box-shadow: none;
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
#skin[data-skin='cornicione'] .hero.oven .btn:hover,
#skin[data-skin='cornicione'] .menu-embed .btn:hover,
#skin[data-skin='cornicione'] .cta .btn.primary:hover,
#skin[data-skin='cornicione'] .contact-form button:hover {
  background: var(--tomato-deep);
  transform: none;
}
#skin[data-skin='cornicione'] .hero.oven .btn:active,
#skin[data-skin='cornicione'] .menu-embed .btn:active,
#skin[data-skin='cornicione'] .cta .btn:active,
#skin[data-skin='cornicione'] .contact-form button:active { transform: translateY(1px); }
#skin[data-skin='cornicione'] .hero.oven .link {
  align-self: center;
  padding: 0.6rem 0 0.2rem;
  color: var(--flour);
  font-weight: 650;
  border-bottom: 2px solid var(--ash);
}
#skin[data-skin='cornicione'] .hero.oven .link:hover { border-bottom-color: var(--flour); }

#skin[data-skin='cornicione'] .hero.oven .live {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: -0.2rem 0 1.4rem;
  font-weight: 650;
  color: var(--flour);
}
#skin[data-skin='cornicione'] .hero.oven .live[hidden] { display: none; }
#skin[data-skin='cornicione'] .hero.oven .live::before {
  content: '';
  flex: none;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: 50%;
  background: var(--ash);
}
#skin[data-skin='cornicione'] .hero.oven .live[data-state='open']::before {
  background: var(--crust);
  box-shadow: 0 0 0 4px rgba(201, 134, 53, 0.2), 0 0 14px 2px rgba(224, 154, 74, 0.55);
  animation: cornicione-ember 2.8s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  #skin[data-skin='cornicione'] .hero.oven .live[data-state='open']::before,
  #skin[data-skin='cornicione'] .hero.oven .mouth img { animation: none; }
}
@keyframes cornicione-ember {
  50% { box-shadow: 0 0 0 6px rgba(201, 134, 53, 0.1), 0 0 22px 5px rgba(224, 154, 74, 0.32); }
}
#skin[data-skin='cornicione'] .hero.oven .facts {
  max-width: 40rem;
  margin: 1.5rem 0 0;
  font-size: 0.98rem;
  line-height: 1.5;
  color: var(--flour-dim);
}
#skin[data-skin='cornicione'] .hero.oven .info {
  margin: 0.8rem 0 0;
  font-size: 0.93rem;
  letter-spacing: 0.01em;
  color: var(--smoke);
}

/* Inner pages without a photo: the same field, lower. */
#skin[data-skin='cornicione'] .hero.oven.bare { padding-block: clamp(2.75rem, 8vw, 4.5rem) clamp(2.25rem, 6vw, 3.5rem); }
#skin[data-skin='cornicione'] .hero.oven.bare h1 { font-size: clamp(3rem, 12vw, 5.25rem); margin-bottom: 0.8rem; }
#skin[data-skin='cornicione'] .hero.oven.bare .copy { max-width: 46rem; }

@media (min-width: 560px) {
  #skin[data-skin='cornicione'] .hero.oven .actions {
    flex-direction: row;
    align-items: center;
    gap: 1.75rem;
  }
  #skin[data-skin='cornicione'] .hero.oven .btn { min-width: 16rem; }
  #skin[data-skin='cornicione'] .hero.oven .link { align-self: auto; }
}
@media (min-width: 960px) {
  /* One hearth line: the copy and the mouth stand on the same floor. */
  #skin[data-skin='cornicione'] .hero.oven:not(.bare) .oven-inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    align-items: end;
    column-gap: clamp(3rem, 6vw, 5rem);
  }
  #skin[data-skin='cornicione'] .mouth-wrap {
    order: 2;
    width: 100%;
    margin: 3.75rem 0 0;
  }
}

/* ── De ce A'luat: stations along the hearth, not a row of cards ───────── */

#skin[data-skin='cornicione'] .card-grid { padding: clamp(4rem, 11vw, 6.5rem) clamp(1rem, 5vw, 3rem) clamp(2.5rem, 7vw, 4rem); }
#skin[data-skin='cornicione'] .card-grid header { text-align: left; margin-bottom: 0.5rem; }
#skin[data-skin='cornicione'] .card-grid .grid { display: block; }
#skin[data-skin='cornicione'] .card-grid .card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  padding: 2.25rem 0;
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}
#skin[data-skin='cornicione'] .card-grid .card + .card::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  height: 40px;
  background: url(rim-char.svg) 37% 50% / auto 40px repeat-x;
}
#skin[data-skin='cornicione'] .card-grid .thumb { aspect-ratio: 4 / 3; }
#skin[data-skin='cornicione'] .card-grid .thumb img { height: 100%; }
#skin[data-skin='cornicione'] .card-grid .content { padding: 0; gap: 0.6rem; }
#skin[data-skin='cornicione'] .card-grid h3 {
  font-size: clamp(2.2rem, 8.5vw, 3.1rem);
  line-height: 0.9;
  letter-spacing: 0.01em;
}
#skin[data-skin='cornicione'] .card-grid .content p {
  flex: none;
  max-width: 46ch;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--ink-2);
}
@media (min-width: 860px) {
  #skin[data-skin='cornicione'] .card-grid .card {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 3.5rem;
    align-items: center;
    padding: 3rem 0;
  }
  #skin[data-skin='cornicione'] .card-grid .card:nth-child(even) .thumb { order: 2; }
}

/* ── Menu ──────────────────────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .menu-embed { padding: clamp(4rem, 10vw, 6rem) clamp(1rem, 5vw, 3rem); }
#skin[data-skin='cornicione'] .menu-embed .inner,
#skin[data-skin='cornicione'] .menu-embed .inner.wide { max-width: 76rem; }
#skin[data-skin='cornicione'] .menu-embed .items.cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 0.85rem;
}
@media (min-width: 720px) {
  #skin[data-skin='cornicione'] .menu-embed .items.cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.25rem; }
}
@media (min-width: 1100px) {
  #skin[data-skin='cornicione'] .menu-embed .items.cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
#skin[data-skin='cornicione'] .menu-embed .items.cards .item {
  border: 0;
  border-radius: 0;
  background: none;
  overflow: visible;
}
#skin[data-skin='cornicione'] .menu-embed .items.cards .thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  background: var(--parchment);
}
#skin[data-skin='cornicione'] .menu-embed .items.cards .body { padding: 0.8rem 0 0; gap: 0.3rem; }
#skin[data-skin='cornicione'] .menu-embed .items.cards .row {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
}
#skin[data-skin='cornicione'] .menu-embed strong,
#skin[data-skin='cornicione'] .menu-embed .items.cards strong {
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}
#skin[data-skin='cornicione'] .menu-embed .price {
  color: var(--ink);
  font-weight: 700;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}
#skin[data-skin='cornicione'] .menu-embed .desc {
  color: var(--ink-2);
  font-size: 0.94rem;
  line-height: 1.45;
}
/* The featured grid is a teaser: three lines, the full text lives on /meniu. */
#skin[data-skin='cornicione'] .menu-embed .inner > .items .desc {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#skin[data-skin='cornicione'] .menu-embed .allergens,
#skin[data-skin='cornicione'] .menu-embed .hours { color: var(--ink-2); }
#skin[data-skin='cornicione'] .menu-embed .badges { gap: 0.3rem; margin-top: 0.15rem; }
#skin[data-skin='cornicione'] .menu-embed .badge {
  padding: 0.32rem 0.42rem 0.27rem;
  border: 1px solid var(--field-line);
  border-radius: 2px;
  background: transparent;
  color: var(--ink);
  font-family: var(--display);
  font-weight: 700;
  font-size: 0.82rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
#skin[data-skin='cornicione'] .menu-embed .badge.hot {
  border-color: var(--char);
  background: var(--char);
  color: var(--flour);
}
/* Where there is a photo, "Cel mai vândut" / "Recomandat" sit on its corner, like the menu app. */
#skin[data-skin='cornicione'] .menu-embed .items.cards .item:has(.thumb) { position: relative; }
#skin[data-skin='cornicione'] .menu-embed .items.cards .item:has(.thumb) .badge.hot {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0;
  padding: 0.38rem 0.5rem 0.32rem;
}
#skin[data-skin='cornicione'] .menu-embed .items.cards .item:has(.thumb) .badge.hot + .badge.hot { top: 1.62rem; }
/* Sold out stays on the shelf, as a ghost. */
#skin[data-skin='cornicione'] .menu-embed .item.ghost .thumb { filter: grayscale(1) contrast(0.8); opacity: 0.55; }
#skin[data-skin='cornicione'] .menu-embed .item.ghost strong,
#skin[data-skin='cornicione'] .menu-embed .item.ghost .price { color: var(--ink-2); }
#skin[data-skin='cornicione'] .menu-embed .ghost-label {
  align-self: flex-start;
  margin: 0.1rem 0 0;
  padding: 0.3rem 0.42rem 0.26rem;
  border-radius: 2px;
  background: var(--char);
  color: var(--flour);
  font-family: var(--display);
  font-weight: 700;
  font-size: 0.82rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
#skin[data-skin='cornicione'] .menu-embed .origin {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0.15rem 0 0;
  padding: 0;
}
#skin[data-skin='cornicione'] .menu-embed .origin li {
  padding: 0.3rem 0.42rem 0.26rem;
  border: 1px dashed var(--field-line);
  border-radius: 2px;
  font-family: var(--display);
  font-weight: 700;
  font-size: 0.82rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ink);
}
#skin[data-skin='cornicione'] .menu-embed h3 {
  position: relative;
  margin: 0 0 1.4rem;
  padding: 0;
  border: 0;
  color: var(--ink);
  font-size: clamp(2.1rem, 7.5vw, 3rem);
  line-height: 0.9;
}
#skin[data-skin='cornicione'] .menu-embed .category + .category {
  position: relative;
  margin-top: 1rem;
  padding-top: 2.75rem;
}
#skin[data-skin='cornicione'] .menu-embed .category + .category::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  height: 40px;
  background: url(rim-char.svg) 61% 50% / auto 40px repeat-x;
}
#skin[data-skin='cornicione'] .menu-embed .cat-nav {
  gap: 1.35rem;
  margin: 0 0 2rem;
  padding: 0 0 0.25rem;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
#skin[data-skin='cornicione'] .menu-embed .cat-nav a {
  padding: 0.7rem 0 0.55rem;
  border: 0;
  border-radius: 0;
  box-shadow: inset 0 -3px 0 transparent;
  background: none;
  color: var(--ink-2);
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
#skin[data-skin='cornicione'] .menu-embed .cat-nav a:hover {
  color: var(--ink);
  box-shadow: inset 0 -3px 0 var(--tomato);
}
#skin[data-skin='cornicione'] .menu-embed .order { text-align: left; margin-top: 0.5rem; }

/* ── Rich text ─────────────────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .rich-text { padding: clamp(3.75rem, 10vw, 5.75rem) clamp(1rem, 5vw, 3rem); }
#skin[data-skin='cornicione'] .rich-text > div { max-width: 44rem; line-height: 1.65; }
#skin[data-skin='cornicione'] .rich-text h2 {
  font-size: clamp(2.3rem, 8.5vw, 3.5rem);
  margin: 2.5rem 0 1rem;
}
#skin[data-skin='cornicione'] .rich-text h2:first-child { margin-top: 0; }
#skin[data-skin='cornicione'] .rich-text h3 { font-size: clamp(1.7rem, 6vw, 2.2rem); line-height: 0.95; margin: 2rem 0 0.75rem; }
#skin[data-skin='cornicione'] .rich-text p,
#skin[data-skin='cornicione'] .rich-text li {
  opacity: 1;
  color: var(--ink);
  font-size: 1.0625rem;
}
#skin[data-skin='cornicione'] .rich-text em { color: inherit; font-style: italic; }
#skin[data-skin='cornicione'] .rich-text a,
#skin[data-skin='cornicione'] .contact .info a {
  color: var(--tomato-deep);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}
#skin[data-skin='cornicione'] .rich-text img { border-radius: 0; }
#skin[data-skin='cornicione'] .rich-text ul { list-style: none; padding-left: 1.6rem; }
#skin[data-skin='cornicione'] .rich-text ul li { position: relative; margin-bottom: 0.4rem; }
#skin[data-skin='cornicione'] .rich-text ul li::before {
  content: '';
  position: absolute;
  left: -1.55rem;
  top: 0.32em;
  width: 1rem;
  height: 1rem;
  background: url(spot.svg) center / contain no-repeat;
}
/* A review is said out loud: set large, marked by a single blister, no side stripe. */
#skin[data-skin='cornicione'] .rich-text blockquote {
  position: relative;
  margin: 2.25rem 0 2rem;
  padding: 2.2rem 0 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-family: var(--display);
  font-style: normal;
  font-weight: 700;
  font-size: clamp(1.55rem, 5.4vw, 2rem);
  line-height: 1.1;
  letter-spacing: 0.005em;
  color: var(--ink);
}
#skin[data-skin='cornicione'] .rich-text blockquote::before {
  content: '';
  position: absolute;
  left: -0.2rem;
  top: 0;
  width: 1.9rem;
  height: 1.9rem;
  background: url(spot.svg) center / contain no-repeat;
}

/* ── CTA: back into the char ───────────────────────────────────────────── */

#skin[data-skin='cornicione'] .cta {
  position: relative;
  margin: 0;
  padding: clamp(4.25rem, 11vw, 6.5rem) clamp(1rem, 5vw, 3rem) clamp(3.75rem, 10vw, 5.5rem);
  background: var(--char);
  color: var(--flour);
}
/* The char field bleeds upward onto the flour above it. */
#skin[data-skin='cornicione'] .cta::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% - 14px);
  height: 70px;
  background: url(edge-char.svg) 40% 0 / auto 70px repeat-x;
  transform: scaleY(-1);
  pointer-events: none;
}
#skin[data-skin='cornicione'] .cta .inner {
  max-width: 76rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  text-align: left;
}
#skin[data-skin='cornicione'] .cta h2 {
  max-width: 14ch;
  margin: 0 0 1rem;
  color: var(--flour);
  font-size: clamp(2.75rem, 11vw, 5rem);
  line-height: 0.88;
}
#skin[data-skin='cornicione'] .cta p {
  max-width: 40rem;
  margin: 0 0 1.9rem;
  color: var(--flour-dim);
  font-size: clamp(1.05rem, 2.6vw, 1.2rem);
}
#skin[data-skin='cornicione'] .cta .btn.outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  padding: 0.85rem 1.75rem 0.78rem;
  border: 2px solid var(--flour);
  border-radius: 3px;
  color: var(--flour);
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.5rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: background-color 0.15s ease, color 0.15s ease;
}
#skin[data-skin='cornicione'] .cta .btn.outline:hover {
  background: var(--flour);
  color: var(--char);
  transform: none;
}
@media (max-width: 559px) {
  #skin[data-skin='cornicione'] .cta .btn { display: flex; width: 100%; }
}

/* ── FAQ ───────────────────────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .faq { padding: clamp(3.75rem, 10vw, 5.5rem) clamp(1rem, 5vw, 3rem); }
#skin[data-skin='cornicione'] .faq .inner { max-width: 48rem; }
#skin[data-skin='cornicione'] .faq details {
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: none;
}
#skin[data-skin='cornicione'] .faq details:last-of-type { border-bottom: 1px solid var(--line); }
#skin[data-skin='cornicione'] .faq details[open] { border-color: var(--line); }
#skin[data-skin='cornicione'] .faq summary {
  padding: 1.15rem 2.75rem 1.05rem 0;
  font-family: var(--display);
  font-weight: 750;
  font-size: 1.35rem;
  line-height: 1.12;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
#skin[data-skin='cornicione'] .faq summary::after {
  content: '';
  top: 50%;
  right: 0.3rem;
  width: 15px;
  height: 15px;
  margin-top: -7.5px;
  background:
    linear-gradient(var(--ink), var(--ink)) center / 100% 2px no-repeat,
    linear-gradient(var(--ink), var(--ink)) center / 2px 100% no-repeat;
}
#skin[data-skin='cornicione'] .faq details[open] summary::after {
  content: '';
  background: linear-gradient(var(--tomato), var(--tomato)) center / 100% 2px no-repeat;
}
#skin[data-skin='cornicione'] .faq details > div {
  padding: 0 0 1.25rem;
  color: var(--ink-2);
  font-size: 1.0625rem;
}

/* ── Gallery, blog ─────────────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .gallery,
#skin[data-skin='cornicione'] .blog-list { padding: clamp(3.75rem, 10vw, 5.5rem) clamp(1rem, 5vw, 3rem); }
#skin[data-skin='cornicione'] .gallery .grid { gap: 3px; }
#skin[data-skin='cornicione'] .gallery img { border: 0; border-radius: 0; }
#skin[data-skin='cornicione'] .gallery figcaption { font-style: normal; color: var(--ink-2); text-align: left; }
#skin[data-skin='cornicione'] .blog-list .inner { max-width: 48rem; }
#skin[data-skin='cornicione'] .blog-list article { border-bottom: 1px solid var(--line); }
#skin[data-skin='cornicione'] .blog-list h3 { font-size: clamp(1.75rem, 6.5vw, 2.3rem); line-height: 0.95; margin-bottom: 0.4rem; }
#skin[data-skin='cornicione'] .blog-list article a:hover h3 { color: var(--tomato-deep); }
#skin[data-skin='cornicione'] .blog-list time { color: var(--ink-2); font-variant-numeric: tabular-nums; }
#skin[data-skin='cornicione'] .blog-list p,
#skin[data-skin='cornicione'] .blog-list .empty { color: var(--ink-2); }

/* ── Contact ───────────────────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .contact { padding: clamp(3.75rem, 10vw, 5.5rem) clamp(1rem, 5vw, 3rem); }
#skin[data-skin='cornicione'] .contact .info p { color: var(--ink); }
#skin[data-skin='cornicione'] .contact .schedule { color: var(--ink-2); }
#skin[data-skin='cornicione'] .contact iframe { border: 0; border-radius: 0; filter: none; }
#skin[data-skin='cornicione'] .contact-form label { color: var(--ink); font-size: 0.97rem; }
#skin[data-skin='cornicione'] .contact-form input,
#skin[data-skin='cornicione'] .contact-form textarea {
  padding: 0.8rem 0.9rem;
  border: 1.5px solid var(--field-line);
  border-radius: 3px;
  background: var(--parchment);
  color: var(--ink);
  font-size: 1rem;
}
#skin[data-skin='cornicione'] .contact-form input:focus-visible,
#skin[data-skin='cornicione'] .contact-form textarea:focus-visible {
  border-color: var(--ink);
  outline: 2px solid var(--tomato);
  outline-offset: 1px;
}
#skin[data-skin='cornicione'] .contact-form button {
  justify-self: stretch;
  font-size: 1.35rem;
}
#skin[data-skin='cornicione'] .contact-form .gdpr,
#skin[data-skin='cornicione'] .contact-form .status { color: var(--ink-2); }
@media (min-width: 560px) {
  #skin[data-skin='cornicione'] .contact-form button { justify-self: start; min-width: 12rem; }
}

/* ── Footer ────────────────────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .site-footer,
#skin[data-skin='cornicione'] .site-footer:not(.ridge) {
  position: relative;
  margin-top: 0;
  padding: clamp(3.75rem, 9vw, 5rem) clamp(1rem, 5vw, 3rem) 2rem;
  border-top: 0;
  background: var(--char);
  color: var(--flour-dim);
}
#skin[data-skin='cornicione'] .site-footer::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% - 14px);
  height: 70px;
  background: url(edge-char.svg) 72% 0 / auto 70px repeat-x;
  transform: scaleY(-1);
  pointer-events: none;
}
/* After a char CTA the footer continues the same field: no edge to draw. */
#skin[data-skin='cornicione'] main:has(> [data-block]:last-child > .cta) ~ .site-footer::before { display: none; }
#skin[data-skin='cornicione'] .site-footer .footer-badge {
  max-width: 7rem;
  mix-blend-mode: screen;
}
#skin[data-skin='cornicione'] .site-footer .footer-logo { color: var(--flour); }
#skin[data-skin='cornicione'] .footer-brand p,
#skin[data-skin='cornicione'] .footer-col p { color: var(--flour-dim); font-size: 1rem; }
#skin[data-skin='cornicione'] .footer-brand a,
#skin[data-skin='cornicione'] .footer-col a {
  color: var(--flour);
  text-decoration: underline;
  text-decoration-color: rgba(239, 237, 232, 0.35);
  text-underline-offset: 3px;
}
#skin[data-skin='cornicione'] .footer-brand a:hover,
#skin[data-skin='cornicione'] .footer-col a:hover { text-decoration-color: var(--flour); }
#skin[data-skin='cornicione'] .site-footer .open-now { color: var(--crust); }
#skin[data-skin='cornicione'] .footer-col h2 {
  margin: 0 0 0.75rem;
  color: var(--flour);
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: left;
}
#skin[data-skin='cornicione'] .site-footer nav a {
  padding: 0.35rem 0;
  color: var(--flour);
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
#skin[data-skin='cornicione'] .site-footer nav a:hover { color: var(--crust); }
#skin[data-skin='cornicione'] .site-footer .legal { border-top-color: var(--soot); }
#skin[data-skin='cornicione'] .site-footer .legal p,
#skin[data-skin='cornicione'] .site-footer .legal-links a { color: var(--smoke); }
#skin[data-skin='cornicione'] .site-footer .legal-links {
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
}
#skin[data-skin='cornicione'] .site-footer .legal-links a { display: inline-block; padding-block: 0.3rem; }
#skin[data-skin='cornicione'] .site-footer .legal-links a:hover { color: var(--flour); }

/* ── Mobile action bar ─────────────────────────────────────────────────── */

#skin[data-skin='cornicione'] .action-bar {
  gap: 0.5rem;
  background: var(--char);
  border-top: 1px solid var(--soot);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
#skin[data-skin='cornicione'] .action-bar .ab {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.1rem;
  padding: 0.8rem 0.5rem 0.72rem;
  border: 1.5px solid var(--ash);
  border-radius: 3px;
  color: var(--flour);
  font-family: var(--display);
  font-weight: 800;
  font-size: 1.25rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
#skin[data-skin='cornicione'] .action-bar .ab.primary {
  flex: 1.6;
  border-color: var(--tomato);
  background: var(--tomato);
  color: #FFFFFF;
}

/* ── Cookie banner: the choices stay equal ─────────────────────────────── */

#skin[data-skin='cornicione'] .consent {
  border: 1px solid var(--soot);
  border-radius: 4px;
  background: var(--char-2);
  color: var(--flour);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.38);
}
#skin[data-skin='cornicione'] .consent button {
  min-height: 2.75rem;
  border-radius: 3px;
  background: var(--flour);
  color: var(--char);
  font-weight: 700;
}
#skin[data-skin='cornicione'] .consent .ghost {
  border: 1px solid rgba(239, 237, 232, 0.55);
  background: transparent;
  color: var(--flour);
}
