/* ------------------------------------------------------------------
   Tema Padaria Royale — skin sobre o design base do OpsCom CMS.
   Paleta da marca: caramelo #c48e6a, tijolo #af4129, texto #504e4a,
   quase-preto #0a0500, azul #56b5d2. Títulos em serifa (EB Garamond).
   ------------------------------------------------------------------ */

@font-face {
    font-family: 'EB Garamond';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/EBGaramond-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: 'EB Garamond';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/EBGaramond-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: 'Open Sans';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('fonts/OpenSans-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: 'Open Sans';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('fonts/OpenSans-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;
}

:root {
    --ink: #0a0500;
    --accent: #c48e6a;
    --accent-2: #af4129;
    --accent-soft: rgba(196, 142, 106, .16);
    --blue: #56b5d2;
    --paper: #ffffff;
    --paper-2: #fdfdfd;
    --tint-1: #fbf8f5;
    --tint-2: #f5efe9;
    --tint-3: #edeff2;
    --gray: #504e4a;
    --line: #e7e3de;
    --heading: 'EB Garamond', Georgia, 'Times New Roman', serif;
    --body: 'Open Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    /* 1338 − 2×24 de padding = 1290 de conteúdo (medido no original). */
    --container: 1338px;
    --header-h: 76px;
}

body.theme-royale { color: var(--gray); font-size: 15.5px; line-height: 1.7; }
.theme-royale h1, .theme-royale h2, .theme-royale h3, .theme-royale h4 {
    font-family: var(--heading);
    color: var(--ink);
    font-weight: 500;
    letter-spacing: 0;
}
.theme-royale a { color: var(--ink); }
.theme-royale a:hover { color: var(--accent-2); }

/* ---------- cabeçalho ---------- */

.theme-royale .site-header { background: var(--paper); border-bottom: 1px solid var(--line); }
.theme-royale .brand-logo { max-height: 40px; }
.theme-royale .main-nav > ul { gap: 6px; }
.theme-royale .main-nav a {
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ink);
    padding: 8px 16px;
    border-radius: 999px;
}
/* Item ativo em pílula cor de caramelo, como no original. */
.theme-royale .main-nav a:hover { background: var(--tint-2); color: var(--ink); }
.theme-royale .main-nav .active > a,
.theme-royale .main-nav a[aria-current="page"] { background: var(--accent); color: #fff; }

.theme-royale.header-overlay .site-header:not(.is-stuck) { background: rgba(255,255,255,.94); }
.theme-royale .site-header.is-stuck,
.theme-royale.header-overlay .site-header.is-stuck {
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 4px 18px rgba(10, 5, 0, .06);
}
.theme-royale .site-header.is-stuck .main-nav > ul > li > a { color: var(--ink); }
.theme-royale .site-header.is-stuck .brand-logo-dark { display: block; }
.theme-royale .site-header.is-stuck .brand-logo-light { display: none; }

/* ---------- botões ---------- */

.theme-royale .btn-cta {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
    font-family: var(--body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-radius: 2px;
    padding: 13px 26px;
}
.theme-royale .btn-cta:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.theme-royale .btn-cta.light { background: #fff; border-color: #fff; color: var(--ink); }
.theme-royale .btn-cta.light:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.theme-royale .btn-cta.small { padding: 10px 20px; font-size: 12px; }

/* ---------- hero ---------- */

.theme-royale .block-hero.has-image { min-height: clamp(340px, 40vw, 560px); padding: 0; }
.theme-royale .block-hero.has-image::after {
    background: linear-gradient(180deg, rgba(10,5,0,.10) 0%, rgba(10,5,0,.34) 100%);
}
.theme-royale .block-hero .kicker { display: none; }
.theme-royale .block-hero h1 {
    font-size: clamp(28px, 3.4vw, 44px);
    font-weight: 500;
    color: #fff;
    text-shadow: 0 2px 20px rgba(10,5,0,.45);
}
.theme-royale .hero-subtitle { color: rgba(255,255,255,.92); }
/* Botão do hero: pílula contornada sobre a fotografia. */
.theme-royale .block-hero .btn-cta {
    background: rgba(10,5,0,.35);
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 999px;
    color: #fff;
    backdrop-filter: blur(2px);
}
.theme-royale .block-hero .btn-cta:hover { background: var(--accent); border-color: var(--accent); }

/* ---------- títulos de secção ---------- */

.theme-royale .section-head { max-width: 900px; margin: 0 auto 40px; text-align: center; }
.theme-royale .section-head h2 { font-size: clamp(26px, 2.8vw, 36px); }
.theme-royale .block-text-image .section-head,
.theme-royale .block-text-image .ti-text { text-align: left; }
.theme-royale .kicker { color: var(--accent); font-size: 12px; letter-spacing: .18em; }

/* ---------- texto + imagem ---------- */

.theme-royale .block-text-image h2 { font-size: clamp(24px, 2.6vw, 32px); }
.theme-royale .ti-media img { border-radius: 2px; }
.theme-royale .block-text-image.bg-tint-1 { background: var(--tint-1); }

/* ---------- banners ---------- */

.theme-royale .block-cta { padding: 0; }
.theme-royale .block-cta .cta-inner { padding: 72px 24px; }
.theme-royale .block-cta.cta-dark { background: #1b1b1b; }
.theme-royale .block-cta.cta-dark .cta-bg img { opacity: .28; }
.theme-royale .block-cta h2 { font-size: clamp(36px, 5vw, 64px); color: var(--accent); }
.theme-royale .block-cta.cta-dark p { color: rgba(255,255,255,.86); max-width: 46ch; }
.theme-royale .block-cta.cta-brand { background: var(--tint-2); }
.theme-royale .block-cta.cta-brand h2 { color: var(--ink); font-size: clamp(24px, 2.6vw, 32px); }
.theme-royale .block-cta.cta-brand p { color: var(--gray); }
.theme-royale .block-cta.cta-soft { background: var(--tint-1); }
.theme-royale .block-cta.cta-soft h2, .theme-royale .block-cta.cta-soft p { color: var(--ink); }
.theme-royale .block-cta.cta-soft h2 { font-size: clamp(22px, 2.4vw, 28px); }

/* ---------- catálogo ---------- */

.theme-royale .product-card { gap: 14px; }
.theme-royale .product-media img { border-radius: 2px; }
.theme-royale .product-body h3 { font-family: var(--body); font-size: 14.5px; font-weight: 700; }
.theme-royale .product-price { color: var(--gray); font-size: 14.5px; font-weight: 600; }
.theme-royale .ph-price { font-family: var(--body); color: var(--ink); }
.theme-royale .ph-availability { color: var(--accent-2); font-weight: 600; }

/* ---------- testemunhos ---------- */

.theme-royale .block-testimonials .section-head h2 { color: var(--blue); }
.theme-royale .testimonial { border-color: var(--line); border-radius: 2px; background: var(--paper); }
.theme-royale .testimonial blockquote { font-size: 15px; }

/* ---------- rodapé ---------- */

.theme-royale .rc-footer { background: #1b1b1b; color: rgba(255,255,255,.72); }
.theme-royale .rc-footer h3 { color: #fff; font-family: var(--body); font-size: 14px; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.theme-royale .rc-footer a:hover { color: var(--accent); }
.theme-royale .rc-contact-icon { background: rgba(255,255,255,.08); color: var(--accent); }
.theme-royale .rc-contact-label { color: #fff; }
.theme-royale .footer-bottom { background: #141414; border-top-color: rgba(255,255,255,.07); }
.theme-royale .rc-social a { background: rgba(255,255,255,.1); }
.theme-royale .rc-social a:hover { background: var(--accent); }

/* Nos banners claros deste tema o botão branco desapareceria: fica escuro. */
.theme-royale .block-cta.cta-brand .btn-cta.light,
.theme-royale .block-cta.cta-soft .btn-cta.light {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}
.theme-royale .block-cta.cta-brand .btn-cta.light:hover,
.theme-royale .block-cta.cta-soft .btn-cta.light:hover { background: var(--accent); border-color: var(--accent); }

/* Cores do rodapé (a estrutura .rc-* vive no site.css). */
.theme-royale { --footer-bg: #1b1b1b; --footer-bottom-bg: #141414; --footer-icon-bg: rgba(255,255,255,.08); }

.theme-royale .rc-about p { margin: 0 0 14px; font-size: 14px; line-height: 1.7; }
.theme-royale .rc-about strong { color: #fff; font-family: var(--heading); font-size: 17px; }
