/*
Theme Name: Bon Vivant Journal
Description: Minimal editorial food journal for Bonvivant.es.
Version: 1.0.0
Text Domain: bonvivant-journal
*/
:root{--ink:#1c241e;--paper:#fcfbf8;--sand:#f1ece2;--line:#e9e2d7;--accent:#b85d36;--muted:#71766f;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.bv-wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{background:rgba(252,251,248,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.bv-header{height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}.custom-logo{max-height:48px;width:auto}.site-title{font-family:var(--serif);font-size:27px;letter-spacing:-.04em;margin:0}.site-tagline{display:block;color:var(--muted);font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:-4px}.bv-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:25px}.bv-nav a{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.bv-nav a:hover,.bv-nav .current-menu-item>a{color:var(--accent)}.menu-toggle{display:none;background:none;border:0;font-size:24px}.hero{padding:58px 0 42px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:450px;background:var(--sand);border-radius:22px;overflow:hidden;box-shadow:0 18px 42px rgba(45,39,28,.09)}.hero-image{min-height:300px;overflow:hidden}.hero-image img{height:100%;width:100%;object-fit:cover}.hero-copy{padding:clamp(34px,5vw,76px);display:flex;flex-direction:column;justify-content:center}.eyebrow,.entry-meta{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}.hero h1{font-family:var(--serif);font-size:clamp(38px,5vw,66px);line-height:1.02;letter-spacing:-.055em;margin:14px 0 18px}.hero h1 a:hover,.post-card h2 a:hover{color:var(--accent)}.hero p{color:var(--muted);max-width:48ch;margin:0 0 25px}.read-link{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px}.read-link:hover{color:var(--accent);border-color:var(--accent)}.section-head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding:22px 0 26px}.section-head h2{font-family:var(--serif);font-size:31px;line-height:1;margin:0;letter-spacing:-.04em}.section-head span{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-bottom:76px}.post-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.post-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(45,39,28,.1)}.card-image{aspect-ratio:1.3;overflow:hidden;background:var(--sand)}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform .35s ease}.post-card:hover .card-image img{transform:scale(1.035)}.card-copy{padding:22px 23px 25px}.post-card h2{font-family:var(--serif);font-size:27px;letter-spacing:-.04em;line-height:1.08;margin:10px 0 12px}.post-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.post-card .read-link{font-size:10px}.page-main{width:min(810px,calc(100% - 48px));margin:60px auto 85px}.page-main h1,.page-main h2,.page-main h3{font-family:var(--serif);letter-spacing:-.04em;line-height:1.15}.page-main h1{font-size:54px}.page-main .entry-header{margin-bottom:28px}.page-main .post-thumbnail{margin:0 0 32px;border-radius:16px;overflow:hidden}.page-main .entry-content{font-size:18px}.page-main .entry-content a{color:var(--accent);text-decoration:underline}.bv-pagination{display:flex;gap:7px;padding-bottom:70px}.bv-pagination .page-numbers{padding:7px 11px;border:1px solid var(--line);border-radius:8px}.bv-pagination .current{background:var(--ink);color:#fff}.site-footer{background:var(--ink);color:#f5f0e8;padding:52px 0 30px}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.footer-brand{font-family:var(--serif);font-size:29px;letter-spacing:-.04em}.footer-note{font-size:12px;color:#c2c3bc;margin-top:6px}.footer-cats{display:flex;gap:18px;flex-wrap:wrap}.footer-cats a{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#d9d7ce}.footer-cats a:hover{color:#fff}.screen-reader-text{position:absolute;left:-9999px}@media(max-width:780px){.bv-wrap{width:min(100% - 32px,1180px)}.bv-header{height:70px}.custom-logo{max-height:40px}.bv-nav ul{gap:14px}.bv-nav a{font-size:9px}.hero{padding:25px 0 30px}.hero-grid{grid-template-columns:1fr;border-radius:15px}.hero-image{aspect-ratio:1.4}.hero-copy{padding:31px}.post-grid{grid-template-columns:1fr;gap:18px}.post-card{display:grid;grid-template-columns:120px 1fr}.card-image{aspect-ratio:auto;height:100%}.card-copy{padding:18px}.post-card h2{font-size:23px}.post-card p{display:none}.section-head h2{font-size:27px}.footer-grid{align-items:flex-start;flex-direction:column}.page-main{margin:35px auto 60px}.page-main h1{font-size:41px}.page-main .entry-content{font-size:17px}}@media(max-width:480px){.site-tagline{display:none}.bv-nav ul{gap:10px}.hero h1{font-size:42px}.post-card{display:block}.card-image{height:auto;aspect-ratio:1.4}}

/* Bon Vivant: preserve the familiar original structure */
.site-header{position:relative}.bv-header{height:auto;min-height:0;display:flex;flex-direction:column;gap:0;padding:20px 0 0}.brand{text-align:center}.custom-logo{max-height:66px;margin:0 auto}.site-tagline{margin:0 auto 16px}.bv-nav{width:100%;border-top:1px solid var(--line)}.bv-nav ul{justify-content:center;min-height:52px;gap:24px;flex-wrap:wrap}.hero{padding:38px 0 46px}.hero-grid{border-radius:0;box-shadow:none;min-height:405px}.site-main{}@media(max-width:780px){.bv-header{padding-top:14px}.custom-logo{max-height:50px}.bv-nav ul{min-height:46px;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:0 2px}.hero-grid{border-radius:0}.hero{padding-top:22px}}

/* Improve the familiar Bon Vivant layout: clearer brand and denser editorial feed */
.site-header .custom-logo{height:82px;max-height:none;width:auto}.bv-header{padding-top:24px}.site-tagline{margin-top:3px;margin-bottom:18px}.hero{padding:28px 0 32px}.hero-grid{min-height:300px}.hero-copy{padding:42px 58px}.hero h1{font-size:clamp(34px,4vw,51px);margin:10px 0 12px}.hero p{font-size:15px;margin-bottom:17px}.section-head{padding:17px 0 20px}.post-grid{gap:22px}.card-image{aspect-ratio:1.85}.card-copy{padding:17px 19px 20px}.post-card h2{font-size:23px;margin:7px 0 8px}.post-card p{display:block;font-size:13px;line-height:1.5;margin:0 0 13px}@media(max-width:780px){.site-header .custom-logo{height:62px}.bv-header{padding-top:16px}.hero{padding:20px 0 25px}.hero-grid{min-height:0}.hero-copy{padding:26px}.hero h1{font-size:37px}.card-image{aspect-ratio:1.65}.post-card h2{font-size:22px}}

/* Keep the featured story compact and expose article titles at a glance */
.hero{padding:22px 0 25px}.hero-grid{min-height:260px}.hero-copy{padding:30px 54px}.hero h1{font-size:clamp(31px,3.5vw,45px);margin:7px 0 9px}.hero p{font-size:14px;margin-bottom:12px}.section-head{padding:14px 0 16px}.card-image{aspect-ratio:2.5}.card-copy{padding:14px 18px 18px}.post-card h2{font-size:22px;line-height:1.1}.post-card p{font-size:13px}@media(max-width:780px){.hero-grid{min-height:0}.hero-copy{padding:24px}.card-image{aspect-ratio:1.65}}

/* Enforce compact card crops so titles and summaries remain visible */
.card-image{display:block!important;height:auto!important}.card-image img{height:100%!important;object-fit:cover!important}


@import url('https://fonts.googleapis.com/css2?family=Lobster&display=swap');
.bv-logo{display:block;width:390px;max-width:75vw;margin:0 auto}.bv-logo svg{display:block;width:100%;height:auto}.bv-logo-word{fill:var(--ink);font-family:'Lobster',cursive;font-size:72px}.bv-logo-line{stroke:var(--accent);stroke-width:2}.bv-logo-tagline{fill:var(--ink);font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.22em}@media(max-width:780px){.bv-logo{width:295px}.bv-logo-word{font-size:72px}.bv-logo-tagline{font-size:14px}}

/* The consent panel is shown to first-time visitors; do not keep a persistent revisit button after a choice. */
.cky-btn-revisit-wrapper{display:none!important}

/* Keep every post-card call to action aligned to the bottom edge. */
.post-card{display:flex;flex-direction:column;height:100%}
.card-copy{display:flex;flex:1;flex-direction:column}
.card-copy .read-link{margin-top:auto;align-self:flex-start}

/* Pagination */
.bv-pagination,.navigation.pagination{display:flex;justify-content:center;gap:.45rem;margin:3rem 0 1rem;flex-wrap:wrap}.bv-pagination .page-numbers,.navigation.pagination .page-numbers{border:1px solid #d9d2c5;color:#1f302b;padding:.6rem .85rem;text-decoration:none}.bv-pagination .current,.navigation.pagination .current{background:#1f302b;border-color:#1f302b;color:#fff}.bv-pagination .next,.bv-pagination .prev,.navigation.pagination .next,.navigation.pagination .prev{padding-left:1rem;padding-right:1rem}

/* Featured images always fill the complete horizontal card area. */
.card-image{display:block;width:100%;height:260px;overflow:hidden;background:#e8e2d7}
.card-image img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center}
@media (max-width:700px){.card-image{height:220px}}

/* Override legacy image sizing: use a full horizontal crop in every card. */
.post-card .card-image{display:block!important;width:100%!important;height:260px!important;overflow:hidden!important;line-height:0}
.post-card .card-image img{display:block!important;width:100%!important;height:260px!important;max-width:none!important;object-fit:cover!important;object-position:center!important}
@media (max-width:700px){.post-card .card-image,.post-card .card-image img{height:220px!important}}

/* More compact editorial cards. */
.post-card .card-image,.post-card .card-image img{height:190px!important}
@media (max-width:700px){.post-card .card-image,.post-card .card-image img{height:170px!important}}

/* Article pages: calm, readable editorial layout. */
.article-shell{width:min(1040px,calc(100% - 48px));margin:0 auto;padding:72px 0 92px}
.journal-article{max-width:100%}.article-header{width:min(790px,100%);margin:0 auto 36px;text-align:center}.article-header .entry-meta{margin-bottom:16px}.article-header h1{font-family:var(--serif);font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.06em;margin:0}.article-dek{max-width:620px;margin:23px auto 0;color:var(--muted);font-family:var(--serif);font-size:clamp(19px,2.2vw,24px);line-height:1.4}.article-hero{width:100%;height:clamp(330px,52vw,560px);margin:0 0 48px;overflow:hidden;border-radius:18px;background:var(--sand)}.article-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.article-body{width:min(720px,100%);margin:0 auto;font-size:19px;line-height:1.8;color:#283029}.article-body>p:first-child::first-letter{float:left;font-family:var(--serif);font-size:4.15em;line-height:.78;padding:.1em .1em 0 0;color:var(--accent)}.article-body h2{font-size:36px;margin:2.2em 0 .55em}.article-body h3{font-size:28px;margin:2em 0 .5em}.article-body p{margin:0 0 1.35em}.article-body ul,.article-body ol{margin:0 0 1.5em;padding-left:1.35em}.article-body blockquote{margin:2em 0;padding:6px 0 6px 24px;border-left:2px solid var(--accent);font-family:var(--serif);font-size:1.28em;line-height:1.45;color:var(--muted)}.article-body figure,.article-body .wp-caption{width:100%!important;max-width:100%!important;margin:2.2em 0}.article-body img{width:100%;height:auto;border-radius:10px}.article-body figcaption,.article-body .wp-caption-text{margin-top:9px;color:var(--muted);font-size:12px;line-height:1.45;text-align:left}.article-body a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.article-footer{width:min(720px,100%);margin:58px auto 0;padding-top:22px;border-top:1px solid var(--line)}.article-categories{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.article-nav{display:flex;justify-content:space-between;gap:22px;margin-top:28px;font-family:var(--serif);font-size:20px;line-height:1.2}.article-nav span{width:48%}.article-nav-next{text-align:right}.article-nav a:hover{color:var(--accent)}
@media(max-width:780px){.article-shell{width:min(100% - 32px,1040px);padding:42px 0 60px}.article-header{margin-bottom:28px;text-align:left}.article-header h1{font-size:46px}.article-dek{margin:17px 0 0;font-size:19px}.article-hero{height:290px;margin-bottom:34px;border-radius:12px}.article-body{font-size:17px;line-height:1.75}.article-body h2{font-size:30px}.article-nav{font-size:17px;gap:14px}}

/* Legacy Instagram galleries */
.bv-instagram-gallery{width:min(100%,820px);margin:0 auto 42px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.bv-instagram-gallery__head{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}.bv-instagram-gallery__controls{display:flex;gap:7px}.bv-instagram-gallery button{width:31px;height:29px;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;font-size:16px;line-height:1}.bv-instagram-gallery button:hover{background:var(--ink);color:#fff}.bv-instagram-gallery__track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}.bv-instagram-gallery__track::-webkit-scrollbar{display:none}.bv-instagram-gallery__slide{flex:0 0 min(100%,350px);scroll-snap-align:start;overflow:hidden;border-radius:9px;background:var(--sand)}.bv-instagram-gallery iframe{display:block;width:100%;height:535px;border:0;background:#fff}@media(max-width:600px){.bv-instagram-gallery{padding:13px;margin-bottom:30px}.bv-instagram-gallery__slide{flex-basis:100%}.bv-instagram-gallery iframe{height:500px}}

/* Keep the opening initial on the first line baseline; following lines return to full width. */
.article-body>p:first-child::first-letter{float:none;display:inline;font-family:var(--serif);font-size:3.25em;line-height:.72;vertical-align:baseline;padding:0 .08em 0 0;color:var(--accent)}

/* Practical information in legacy articles */
.bv-info-card{position:relative;margin:2.6em 0;padding:25px 28px 20px;background:var(--sand);border:1px solid var(--line);border-radius:13px}.bv-info-card:before{content:"";position:absolute;left:0;top:19px;bottom:19px;width:3px;background:var(--accent);border-radius:0 3px 3px 0}.bv-info-card__label{margin:0 0 13px 2px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.bv-info-card__content p{margin:0 0 8px!important;padding-left:2px;font-size:16px;line-height:1.55}.bv-info-card__content p:last-child{margin-bottom:0!important}.bv-info-card__content a{font-weight:700;overflow-wrap:anywhere}@media(max-width:600px){.bv-info-card{margin:2em 0;padding:21px 22px 18px}.bv-info-card__content p{font-size:15px}}

/* Editorial flow for legacy article imagery */
.article-body:after{content:"";display:block;clear:both}.article-body figure.bv-content-image{margin:1.2em 0 1.45em!important;padding:0;border:0;background:transparent}.article-body figure.bv-content-image--left,.article-body figure.bv-content-image--right{width:43%!important;max-width:340px!important}.article-body figure.bv-content-image--left{float:left;margin:0.3em 28px 16px 0!important}.article-body figure.bv-content-image--right{float:right;margin:0.3em 0 16px 28px!important}.article-body figure.bv-content-image--wide{width:100%!important;max-width:100%!important;clear:both;margin:2.2em 0!important}.article-body .bv-content-image img{display:block;width:100%!important;height:auto!important;margin:0;border-radius:10px;box-shadow:0 8px 24px rgba(45,39,28,.1)}.article-body .bv-info-card,.article-body .bv-instagram-gallery,.article-body h2,.article-body h3,.article-footer{clear:both}@media(max-width:600px){.article-body figure.bv-content-image--left,.article-body figure.bv-content-image--right{float:none;width:100%!important;max-width:100%!important;margin:1.7em 0!important}}

/* A more restrained hero gives the article content priority. */
.article-hero{height:clamp(270px,38vw,420px)!important;margin-bottom:38px!important}@media(max-width:780px){.article-hero{height:260px!important;margin-bottom:30px!important}}

/* Multiple old images are presented as a compact, responsive gallery. */
.bv-photo-gallery{clear:both;margin:2.4em 0;padding:18px;background:var(--sand);border:1px solid var(--line);border-radius:14px}.bv-photo-gallery__label{margin:0 0 13px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.bv-photo-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bv-photo-gallery__item{display:block;aspect-ratio:1.18;overflow:hidden;border-radius:8px;background:#ddd}.bv-photo-gallery__item img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .25s ease}.bv-photo-gallery__item:hover img{transform:scale(1.04)}@media(max-width:600px){.bv-photo-gallery{padding:13px}.bv-photo-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

.bv-info-card--historical .bv-info-card__note{margin-top:12px!important;padding-top:11px;border-top:1px solid rgba(28,36,30,.12);font-size:12px!important;color:var(--muted)}


/* Social links in the footer */
.footer-social{display:flex;gap:10px;margin-top:18px}.footer-social a{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(245,240,232,.42);border-radius:50%;color:#f5f0e8;transition:background .2s ease,color .2s ease,border-color .2s ease}.footer-social a:hover{background:#f5f0e8;border-color:#f5f0e8;color:var(--ink)}.footer-social svg{width:15px;height:15px}
