/*
Theme Name: La Dolce Vita
Theme URI: https://ladolcevita.pt/
Author: La Dolce Vita
Description: A warm, location-first restaurant website for La Dolce Vita.
Version: 1.0.9
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ladolcevita
*/
:root{--ldv-ink:#22231f;--ldv-cream:#f5f0e7;--ldv-paper:#fffdf8;--ldv-red:#9f382c;--ldv-gold:#c89b55;--ldv-muted:#68665f;--ldv-serif:Georgia,'Times New Roman',serif;--ldv-sans:Arial,Helvetica,sans-serif;--ldv-width:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ldv-paper);color:var(--ldv-ink);font-family:var(--ldv-sans);line-height:1.65}a{color:inherit}img{max-width:100%;height:auto}.ldv-wrap{width:min(var(--ldv-width),calc(100% - 40px));margin-inline:auto}.ldv-header{position:relative;z-index:2;background:var(--ldv-paper);border-bottom:1px solid #e9e2d7}.ldv-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}.ldv-brand{font:700 1.25rem var(--ldv-serif);text-decoration:none;letter-spacing:.04em}.ldv-brand span{display:block;font: .66rem var(--ldv-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ldv-red)}.ldv-nav{display:flex;gap:25px;align-items:center}.ldv-nav a{font-size:.86rem;text-decoration:none}.ldv-nav a:hover,.ldv-text-link:hover{color:var(--ldv-red)}.ldv-nav .ldv-button{color:#fff}.ldv-hero{background:linear-gradient(120deg,rgba(29,28,24,.88),rgba(46,36,25,.53)),radial-gradient(ellipse at 75% 25%,#87633d,#322c25 66%);color:#fff;min-height:540px;display:grid;align-items:center}.ldv-hero__content{padding:85px 0;max-width:730px}.ldv-eyebrow{margin:0 0 12px;color:var(--ldv-gold);font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.ldv-hero h1{font:clamp(3rem,7vw,6rem)/.98 var(--ldv-serif);font-weight:400;margin:0 0 24px;max-width:780px}.ldv-hero p:not(.ldv-eyebrow){font-size:1.15rem;max-width:600px;color:#f0e9dc}.ldv-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.ldv-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid var(--ldv-red);background:var(--ldv-red);color:#fff;font:700 .78rem var(--ldv-sans);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;cursor:pointer}.ldv-button:hover{background:#782b23;border-color:#782b23;color:#fff}.ldv-button--light{background:transparent;border-color:rgba(255,255,255,.65)}.ldv-section{padding:82px 0}.ldv-section--cream{background:var(--ldv-cream)}.ldv-section__head{text-align:center;max-width:700px;margin:0 auto 38px}.ldv-section__head h2,.ldv-copy h2,.ldv-reservation h2{font:clamp(2.15rem,4vw,3.4rem)/1.1 var(--ldv-serif);font-weight:400;margin:0 0 14px}.ldv-section__head p,.ldv-copy p{color:var(--ldv-muted)}.ldv-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ldv-card{background:#fff;border:1px solid #e8e0d4;display:flex;flex-direction:column}.ldv-card__image,.ldv-location-hero__image{min-height:260px;background:linear-gradient(145deg,#a7764e,#392d24);background-size:cover;background-position:center}.ldv-card__body{padding:26px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.ldv-card h3{font:2rem var(--ldv-serif);font-weight:400;margin:0 0 10px}.ldv-card__body p{color:var(--ldv-muted);margin:4px 0 18px}.ldv-card__body .ldv-button{margin-top:auto}.ldv-copy{max-width:790px;margin:auto;text-align:center}.ldv-copy h2{margin-bottom:20px}.ldv-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.ldv-feature{padding:24px;border-top:2px solid var(--ldv-gold);background:rgba(255,255,255,.65)}.ldv-feature h3{font:1.45rem var(--ldv-serif);margin:0 0 8px}.ldv-feature p{margin:0;color:var(--ldv-muted)}.ldv-location-hero{background:var(--ldv-ink);color:white}.ldv-location-hero__inner{display:grid;grid-template-columns:1fr 1fr;min-height:420px}.ldv-location-hero__content{padding:70px max(30px,calc((100vw - var(--ldv-width))/2));padding-right:35px;align-self:center}.ldv-location-hero__content h1{font:clamp(2.8rem,5vw,5rem)/1 var(--ldv-serif);font-weight:400;margin:0 0 16px}.ldv-location-hero__image{min-height:380px}.ldv-details{display:grid;grid-template-columns:1fr 1fr;gap:30px}.ldv-details h2{font:2rem var(--ldv-serif);font-weight:400}.ldv-details p{color:var(--ldv-muted)}.ldv-text-link{color:var(--ldv-red);font-weight:700}.ldv-reservation{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:start;padding:58px;background:var(--ldv-cream)}.ldv-reservation__intro p:not(.ldv-eyebrow){color:var(--ldv-muted)}.ldv-form{display:grid;gap:15px}.ldv-form label{display:grid;gap:6px;font-size:.88rem;font-weight:700}.ldv-form input,.ldv-form select,.ldv-form textarea{width:100%;border:1px solid #d4cbbb;background:#fff;padding:12px;font:inherit;color:var(--ldv-ink)}.ldv-form input:focus,.ldv-form select:focus,.ldv-form textarea:focus{outline:2px solid var(--ldv-gold);outline-offset:1px}.ldv-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ldv-form .ldv-consent{display:flex;align-items:flex-start;gap:9px;font-weight:400}.ldv-form .ldv-consent input{width:auto;margin-top:5px}.ldv-form__note{font-size:.8rem;color:var(--ldv-muted);margin:0}.ldv-honeypot{position:absolute;left:-9999px}.ldv-notice{padding:14px;background:#e9f1e7;border-left:4px solid #557c50}.ldv-footer{background:#262520;color:#eee8dd;padding:42px 0}.ldv-footer__inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.ldv-footer p{margin:0;color:#c5beb3;font-size:.85rem}.ldv-footer a{color:#fff}.ldv-footer__links{display:flex;gap:18px;flex-wrap:wrap}.ldv-footer__links a{font-size:.84rem;text-decoration:none}.ldv-empty-image{display:grid;place-items:center;color:rgba(255,255,255,.8);text-align:center;padding:24px;font:italic 1rem var(--ldv-serif)}.ldv-empty-image:before{content:'La Dolce Vita';display:block;font:1.35rem var(--ldv-serif);letter-spacing:.08em}
@media(max-width:760px){.ldv-wrap{width:min(var(--ldv-width),calc(100% - 28px))}.ldv-header__inner{align-items:flex-start;flex-direction:column}.ldv-nav{gap:13px;flex-wrap:wrap}.ldv-hero{min-height:440px}.ldv-hero__content{padding:62px 0}.ldv-section{padding:58px 0}.ldv-card-grid,.ldv-feature-grid,.ldv-details,.ldv-location-hero__inner,.ldv-reservation{grid-template-columns:1fr}.ldv-location-hero__content{padding:55px 24px}.ldv-location-hero__image{min-height:280px}.ldv-reservation{padding:28px;gap:20px}.ldv-footer__inner{align-items:flex-start;flex-direction:column}.ldv-form__row{grid-template-columns:1fr}}
.ldv-brand-lockup{display:flex;align-items:center;min-height:54px}.custom-logo-link{display:inline-flex;align-items:center}.custom-logo{display:block;width:auto;max-width:min(290px,70vw);max-height:62px;object-fit:contain}.ldv-footer .custom-logo{max-height:42px}

.ldv-card__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:8px}.ldv-card__actions .ldv-button{margin-top:0}.ldv-button--outline{background:transparent;color:var(--ldv-red)}.ldv-button--outline:hover{color:#fff}

.ldv-map{padding:0 0 60px}
.ldv-map__frame{height:380px;overflow:hidden;border:1px solid #e8e0d4;background:var(--ldv-cream)}
.ldv-map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:760px){.ldv-map__frame{height:300px}}
.ldv-map__frame iframe{width:100%!important;height:380px!important;min-height:380px;display:block;border:0}
@media(max-width:760px){.ldv-map__frame iframe{height:300px!important;min-height:300px}}

.ldv-carousel{position:relative;isolation:isolate;overflow:hidden;background:#322c25}
.ldv-carousel__slide{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease}
.ldv-carousel__slide.is-active{opacity:1}
.ldv-carousel__content{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.ldv-carousel__slide{transition:none}}


/* Homepage restaurant selector background */
#locations.ldv-section--cream{background:linear-gradient(rgba(24,22,19,.62),rgba(24,22,19,.72)),url('https://ladolcevita.pt/wp/wp-content/uploads/2026/09/exec-acacfc88-6bfe-4067-8884-4ebe230e5a24.png') center/cover no-repeat;color:#fff}
#locations .ldv-section__head h2{color:#fff}
#locations .ldv-section__head>p:not(.ldv-eyebrow){color:#f4eee4}
