/*
Theme Name: Old City – Ghid București
Template: graceful
Version: 1.2.2
Requires at least: 5.9
Requires PHP: 7.4
Description: Ghid editorial pentru București și Centrul Vechi, cu arhiva Old City.
License: GNU General Public License v2 or later
Text Domain: old-city-ghid
*/

body.oldcity-theme {
    --oc-paper: #f7f3ea;
    --oc-white: #fffdf8;
    --oc-ink: #173b32;
    --oc-text: #243a32;
    --oc-muted: #52665d;
    --oc-accent: #9b422e;
    --oc-line: #ded7c8;
    --oc-serif: Georgia, 'Times New Roman', serif;
    color: var(--oc-text);
    background: var(--oc-paper);
}
.oldcity-theme #site-container { background: var(--oc-paper); }
.oldcity-theme :focus-visible { outline: 3px solid #ad502e; outline-offset: 4px; }
.oldcity-theme #primary:focus { outline: none; }
.oldcity-wrap { width: min(1200px, calc(100% - 3rem)); margin-inline: auto; }
.oldcity-header { background: var(--oc-white); border-bottom: 1px solid var(--oc-line); }
.oldcity-masthead, .oldcity-nav, .oldcity-brand, .oldcity-search {
    display: flex;
    align-items: center;
}
.oldcity-masthead { min-height: 83px; justify-content: space-between; gap: 1.4rem; padding-block: .8rem; }
.oldcity-brand { gap: .75rem; color: var(--oc-ink); font: bold 1.65rem/1 var(--oc-serif); white-space: nowrap; }
.oldcity-brand small, .oldcity-footer-brand small { display: block; font: 600 .72rem/1.6 system-ui, sans-serif; letter-spacing: .075em; }
.oldcity-brand-mark { display: grid; place-items: center; width: 45px; aspect-ratio: 1; border-radius: 50%; background: var(--oc-ink); color: var(--oc-white); font-size: 1.03rem; }
.oldcity-nav { flex-wrap: wrap; gap: .55rem 1.55rem; font: 650 .89rem/1.4 system-ui, sans-serif; }
.oldcity-nav a { color: var(--oc-ink); }
.oldcity-nav a:hover, .oldcity-brand:hover { color: var(--oc-accent); }
.oldcity-search { gap: .3rem; margin: 0; }
.oldcity-search input[type=search] { width: clamp(105px, 13vw, 175px); min-height: 42px; margin: 0; padding: .35rem .65rem; border: 1px solid #a69e8e; background: var(--oc-white); color: var(--oc-ink); font: .83rem system-ui, sans-serif; }
.oldcity-search button { min-height: 42px; margin: 0; padding: .35rem .7rem; border: 0; background: var(--oc-ink); color: #fff; font: 650 .83rem system-ui, sans-serif; }
.oldcity-search button:hover { background: var(--oc-accent); }
.oldcity-landing { padding-top: clamp(1.25rem, 4vw, 3.5rem); }
.oldcity-hero { display: grid; grid-template-columns: 1fr 1.04fr; background: var(--oc-ink); color: #fffaf0; overflow: hidden; border-radius: 8px; }
.oldcity-hero-copy { align-self: center; padding: clamp(1.55rem, 5vw, 4.5rem); }
.oldcity-kicker { margin: 0 0 .75rem; color: var(--oc-accent); font: 750 .72rem/1.5 system-ui, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.oldcity-hero .oldcity-kicker { color: #f0bd9e; }
.oldcity-hero h1 { margin: 0 0 1rem; color: inherit; font: 700 clamp(2.7rem, 5.7vw, 5.3rem)/.99 var(--oc-serif); letter-spacing: -.045em; text-transform: none; }
.oldcity-hero-copy > p:not(.oldcity-kicker) { max-width: 34ch; margin: 0 0 1.5rem; color: #f1e9d8; font: 1.04rem/1.6 system-ui, sans-serif; }
.oldcity-button { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; padding: .6rem .95rem; background: #f3e4cf; color: var(--oc-ink); border-radius: 4px; font: 700 .88rem/1.4 system-ui, sans-serif; }
.oldcity-button:hover { background: #fff9eb; color: var(--oc-ink); }
.oldcity-hero-photo { position: relative; display: grid; margin: 0; min-height: 310px; }
.oldcity-hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.oldcity-hero-photo figcaption { z-index: 1; align-self: end; justify-self: end; padding: .3rem .55rem; margin: .65rem; background: #173b32; color: #fff; font: .68rem/1.4 system-ui, sans-serif; }
.oldcity-hero-photo figcaption a { color: inherit; text-decoration: underline; }
.oldcity-section { margin-block: clamp(2.6rem, 6vw, 5rem); scroll-margin-top: 50px; }
.oldcity-section h2 { margin: 0 0 1.05rem; color: var(--oc-ink); font: 700 clamp(2rem, 4vw, 3.25rem)/1.1 var(--oc-serif); letter-spacing: -.035em; text-transform: none; }
.oldcity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.oldcity-stop, .oldcity-card { margin: 0; background: var(--oc-white); border: 1px solid var(--oc-line); border-radius: 5px; }
.oldcity-stop { display: flex; flex-direction: column; padding: clamp(1.15rem, 2.2vw, 1.65rem); border-top: 3px solid var(--oc-accent); }
.oldcity-section h3 { margin: 0 0 .65rem; color: var(--oc-ink); font: 700 1.45rem/1.2 var(--oc-serif); letter-spacing: -.01em; text-transform: none; }
.oldcity-stop p, .oldcity-card p, .oldcity-city > p:not(.oldcity-kicker) { margin: 0 0 1rem; color: var(--oc-muted); font: .94rem/1.6 system-ui, sans-serif; }
.oldcity-stop a, .oldcity-city > a { color: var(--oc-accent); font: 700 .88rem/1.5 system-ui, sans-serif; text-decoration: underline; text-underline-offset: 3px; }
.oldcity-stop a { margin-top: auto; }
.oldcity-city { padding: clamp(1.3rem, 4vw, 3rem); border: 1px solid var(--oc-line); background: #efe8d9; border-radius: 6px; }
.oldcity-city > p:not(.oldcity-kicker) { max-width: 69ch; }
.oldcity-city .oldcity-latest { margin-top: 2rem; }
.oldcity-card { overflow: clip; }
.oldcity-card-image { display: block; background: #e9e4d9; }
.oldcity-card-image img { display: block; width: 100%; height: auto; aspect-ratio: 500 / 280; object-fit: cover; }
.oldcity-card-copy { padding: 1.15rem; }
.oldcity-card-copy h3 a { color: var(--oc-ink); }
.oldcity-card-copy h3 a:hover { color: var(--oc-accent); text-decoration: underline; }
.oldcity-card time { display: block; margin-bottom: .45rem; color: var(--oc-muted); font: .76rem/1.5 system-ui, sans-serif; }
.oldcity-card p { margin-bottom: 0; }
.oldcity-landing > .oldcity-city { margin-bottom: 0; }
.oldcity-theme.blog #primary > .main-content { width: 100%; max-width: none; margin: 0; padding: 0 !important; }
.oldcity-archive { margin-block: 0; padding-block: clamp(1.4rem, 3vw, 2.5rem) 3rem; }
.oldcity-footer-links { display: flex; flex-wrap: wrap; gap: .5rem .85rem; margin: 0; padding: 0; list-style: none; }
.oldcity-archive .oldcity-card-copy { padding: 1.1rem 1.25rem 1.25rem; }
.oldcity-archive .oldcity-card time { color: var(--oc-accent); }
.oldcity-topics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; margin-top: 1.4rem; }
.oldcity-topic { display: grid; align-content: start; gap: .4rem; min-width: 0; padding: 1rem; border: 1px solid var(--oc-line); border-radius: .4rem; background: var(--oc-white); color: var(--oc-muted) !important; font: .86rem/1.5 system-ui, sans-serif; }
.oldcity-topic:hover { border-color: var(--oc-accent); }
.oldcity-topic-name { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; color: var(--oc-ink); font: 700 1.2rem/1.2 var(--oc-serif); }
.oldcity-topic-name > span { color: var(--oc-accent); }
.oldcity-theme .oldcity-archive .pagination { float: none; margin: 1.5rem 0 0; }
.oldcity-theme #site-footer { background: var(--oc-ink); color: var(--oc-white); }
.oldcity-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-block: 2rem; }
.oldcity-footer-brand { font: bold 1.55rem/1.1 var(--oc-serif); }
.oldcity-footer a { color: var(--oc-white); }
.oldcity-footer a:hover { text-decoration: underline; }
.oldcity-footer a:focus-visible, .oldcity-hero a:focus-visible { outline-color: #ffcfaa; }
.oldcity-footer-links { margin: 0; font: 600 .76rem/1.6 system-ui, sans-serif; }
.oldcity-theme .entry-title, .oldcity-theme .page-title { color: var(--oc-ink); font-family: var(--oc-serif); }
.oldcity-theme.single .entry-content { font-size: 1.05rem; line-height: 1.72; }
.oldcity-theme .entry-content a { color: var(--oc-accent); text-decoration: underline; text-underline-offset: .15em; }
/* Graceful's Customizer emits global heading and link colors. */
.oldcity-theme #site-container .oldcity-hero h1 { color: #fffaf0 !important; }
.oldcity-theme #site-container .oldcity-hero-photo figcaption a,
.oldcity-theme #site-container .oldcity-footer a { color: #fffdf8 !important; }
.oldcity-theme #site-container .oldcity-section h2,
.oldcity-theme #site-container .oldcity-section h3,
.oldcity-theme #site-container .oldcity-card h3 a { color: #173b32 !important; }
.oldcity-theme #site-container .oldcity-card h3 a:hover,
.oldcity-theme #site-container .oldcity-stop a,
.oldcity-theme #site-container .oldcity-city > a { color: #9b422e !important; }
.oldcity-nav-places { position: relative; }
.oldcity-nav-places summary { cursor: pointer; color: var(--oc-ink); padding-block: .45rem; }
.oldcity-nav-places > div {
    position: absolute; z-index: 20; top: 100%; left: 0;
    width: max-content; max-width: min(17rem, 85vw); padding: .45rem;
    background: var(--oc-white); border: 1px solid var(--oc-line);
    border-radius: .45rem; box-shadow: 0 10px 25px #173b3224;
}
.oldcity-nav-places > div a { display: block; padding: .55rem .7rem; }
.oldcity-nav-places > div a:hover { background: #f0e8d8; }
.oldcity-nav-archive > div { left: auto; right: 0; max-height: min(65vh, 31rem); overflow-y: auto; }
.oldcity-nav-archive > div .oldcity-archive-subcategory { padding-inline-start: 1.45rem; }
.oldcity-theme .pagination .nav-links {
    display: flex; flex-wrap: wrap; gap: .45rem; align-items: center;
}
.oldcity-theme .pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; padding: .4rem .75rem;
    border: 1px solid var(--oc-line); border-radius: .4rem;
    background: var(--oc-white); color: var(--oc-ink) !important;
    font: 650 .87rem/1.3 system-ui, sans-serif;
}
.oldcity-theme .pagination .page-numbers.current,
.oldcity-theme .pagination a.page-numbers:hover { background: var(--oc-ink); color: var(--oc-white) !important; border-color: var(--oc-ink); }
.oldcity-theme .pagination .page-numbers.dots { border-color: transparent; background: transparent; }
.oldcity-map {
    margin-block: 1rem 2rem; padding: clamp(1rem, 3vw, 1.6rem);
    border: 1px solid var(--oc-line); border-radius: .55rem; background: var(--oc-white);
}
.oldcity-map button { min-height: 44px; padding: .6rem 1rem; background: var(--oc-ink); color: #fff; border: 0; border-radius: .3rem; }
.oldcity-map button:hover { background: var(--oc-accent); }
.oldcity-map-frame iframe { display: block; width: 100%; height: clamp(280px, 45vw, 450px); border: 0; margin-top: 1rem; }
.oldcity-map > p:last-child { margin: .9rem 0 0; }
.oldcity-theme .oldcity-card:focus-within,
.oldcity-theme .oldcity-card:hover { border-color: #ad8067; }
@media (max-width: 860px) {
    .oldcity-masthead { flex-wrap: wrap; gap: .75rem 1rem; }
    .oldcity-nav { order: 1; width: 100%; }
    .oldcity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .oldcity-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .oldcity-nav-archive > div { position: relative; max-width: min(15rem, calc(100vw - 1.5rem)); }
    .oldcity-wrap { width: calc(100% - 1.5rem); }
    .oldcity-hero, .oldcity-grid { grid-template-columns: minmax(0, 1fr); }
    .oldcity-hero-photo { min-height: 0; aspect-ratio: 1.6; }
    .oldcity-brand { font-size: 1.4rem; gap: .45rem; }
    .oldcity-brand-mark { width: 34px; font-size: .85rem; }
    .oldcity-search input[type=search] { width: 105px; }
    .oldcity-masthead { column-gap: .5rem; }
    .oldcity-nav { column-gap: 1rem; }
}
@media (max-width: 360px) {
    .oldcity-topics { grid-template-columns: 1fr; }
}


