/*
Theme Name: Casa Flo'
Author: Casa Flo'
Description: Tema editoriale per il ristorante di Federica Lopopolo. Modificabile con l’Editor del sito, senza plugin obbligatori.
Version: 1.4.2
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: casa-flo
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;-webkit-font-smoothing:antialiased}a{text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid #74876b;outline-offset:6px}.wp-site-blocks{padding:0}.wp-site-blocks>*+*{margin-block-start:0}.site-header{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 5%;border-bottom:1px solid #35433624;background:#f5f2e7;position:relative;z-index:10}.site-header>*{margin:0}.wordmark{text-decoration:none;font-family:Georgia,serif;font-size:43px;letter-spacing:-2px;line-height:.8;display:block;white-space:nowrap}.wordmark span{color:#74876b}.wordmark small{display:block;font:9px/1.3 Arial,sans-serif;letter-spacing:2.1px;margin-top:13px}.wp-block-navigation{font-size:13px}.wp-block-navigation__container{gap:25px}.wp-block-button__link{border-radius:0;padding:14px 25px;text-decoration:none;background:#354336;color:#f5f2e7;font-size:13px;letter-spacing:.4px;border:1px solid #354336;transition:background .2s}.wp-block-button__link:hover{background:#4e5a43;color:#fff}.is-style-outline .wp-block-button__link{background:transparent;color:#354336}.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}.section{padding:100px max(6%,calc((100vw - 1240px)/2));margin:0}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;text-transform:uppercase;margin:0 0 30px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;padding:38px 4% 50px 8%;gap:5%;align-items:center;margin:0}.hero h1{font:400 clamp(65px,7.7vw,118px)/.99 Georgia,serif;letter-spacing:-5px;margin:0 0 30px}.hero-lead{font-size:18px;max-width:340px;line-height:1.7}.hero .wp-block-buttons{margin-top:33px}.small-note{font-size:12px;line-height:1.7}.hero .small-note{margin-top:34px;color:#69715f}.hero-art{position:relative;align-self:stretch;margin:0}.hero-art svg{width:100%;height:100%;max-height:660px;object-fit:cover;display:block;border-radius:48% 48% 0 0}.image-caption{font-size:9px;letter-spacing:1px;text-align:center;color:#59624e;line-height:1.5;margin:12px 0 0}.section h2{font:400 clamp(38px,4.3vw,65px)/1.12 Georgia,serif;letter-spacing:-1.8px;margin:0 0 30px}.intro{border-top:1px solid #35433624;display:grid;grid-template-columns:1fr 1fr;column-gap:9%}.intro .eyebrow{grid-column:1/-1}.intro h2{font-size:48px}.intro-copy p{margin-top:0;max-width:480px}.muted{color:#626b5c}.story{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center;background:#e9ecdf}.portrait svg{display:block;width:100%;height:auto}.story-copy{margin:0}.story-copy p{max-width:430px}.editor-note{font-size:11px;line-height:1.6;color:#69715f;border-left:2px solid #b2b99f;padding-left:12px}.cuisine{background:#354336;color:#f5f2e7}.cuisine h2{max-width:900px}.cuisine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:65px}.cuisine-card{border-top:1px solid #f5f2e755;padding-top:25px;margin:0}.card-number{font:italic 22px Georgia,serif;color:#c2c7ae}.cuisine-card h3{font:34px Georgia,serif;margin:25px 0 20px}.cuisine-card p:not(.card-number){color:#e0e3d7;font-size:15px}.cuisine .editor-note{color:#d3dac9;margin-top:40px}.menu-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.menu-panel{border:1px solid #a4aa96;padding:40px;margin:0}.menu-panel h3{font:30px Georgia,serif;margin:0 0 22px}.status{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;padding:7px 10px;background:#e1e6d8}.menu-intro>p:not(.eyebrow){max-width:360px}.booking{text-align:center;background:#e1e6d8}.booking h2{font-size:clamp(60px,7vw,96px)}.booking>p:not(.eyebrow){max-width:520px;margin:22px auto}.booking-status{display:inline-block;border-bottom:1px solid #69715f;padding-bottom:8px;font-size:13px}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-details{margin:0}.contact-details h3{font:28px Georgia,serif}.site-footer{background:#e8ecdf;padding:45px 6%;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;border-top:1px solid #35433624}.site-footer p{font-size:13px}.site-footer .footer-brand{font:52px Georgia,serif;letter-spacing:-2px;margin:0}.footer-end{text-align:right;margin:0}.site-footer .small-note{font-size:10px;max-width:380px}.wp-block-group.site-main{margin:0}.wp-block-navigation__responsive-container.is-menu-open{padding:35px;background:#f5f2e7}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:25px;font-size:22px}.wp-block-post-content{max-width:900px}body .is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none}.wp-block-template-part{margin:0}
@media(min-width:1600px){.hero{padding-left:max(8%,calc((100vw - 1240px)/2))}}
@media(max-width:900px){.site-header{padding:22px 5%;gap:15px}.wordmark{font-size:34px}.wp-block-navigation__container{gap:14px}.wp-block-navigation{font-size:12px}.nav-booking .wp-block-button__link{padding:11px 16px}.hero{min-height:580px;gap:4%;padding-left:6%}.hero h1{font-size:77px}.hero-art svg{min-height:500px}.section{padding:75px 6%}.intro h2{font-size:38px}.cuisine-grid{gap:25px}.story{gap:7%}.menu-panel{padding:25px}}
@media(max-width:600px){html{scroll-padding-top:20px}.site-header{flex-wrap:wrap}.site-header .wp-block-navigation{margin-left:auto;order:2}.site-header .wp-block-buttons{order:3}.wordmark{font-size:34px}.wordmark small{font-size:7px}.hero{display:flex;flex-direction:column;gap:35px;padding:48px 6% 35px;min-height:0;align-items:stretch}.hero h1{font-size:76px;letter-spacing:-3px}.hero .eyebrow{font-size:9px}.hero-lead{font-size:17px}.hero .small-note{margin-top:22px}.hero-art svg{height:auto;max-height:none;min-height:0}.hero-art{width:100%}.section{padding:60px 7%}.section h2{font-size:39px;letter-spacing:-1.2px}.intro,.story,.menu-section,.contacts{display:flex;flex-direction:column;gap:22px;align-items:stretch}.intro .eyebrow{margin-bottom:5px}.story{gap:38px}.cuisine-grid{display:block;margin-top:38px}.cuisine-card{margin-top:30px}.cuisine-card h3{margin:15px 0}.menu-panel{padding:28px 24px}.booking h2{font-size:64px}.site-footer{display:block;padding:35px 7%}.footer-end{text-align:left;margin-top:30px}.site-footer .small-note{max-width:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
a{color:inherit}.wp-block-button__link{color:#f5f2e7}.is-style-outline .wp-block-button__link{color:#354336}

/* Identità ripresa dal profilo @casafloristorante. Font dei titoli affine, non identificato. */
@font-face{font-family:'Casa Editorial';src:url('assets/CormorantGaramond.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
.site-header{background:#74876b;color:#f5f2e7;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #f5f2e733;min-height:104px}.site-header a{color:#f5f2e7}.site-header .wp-block-button__link{background:transparent;border:1px solid #f5f2e799;color:#f5f2e7}.site-header .wp-block-button__link:hover{background:#f5f2e7;color:#354336}.brand-logo{display:block;width:140px;height:90px;overflow:hidden;flex-shrink:0}.brand-logo img{display:block;width:140px;height:140px;object-fit:contain;margin-top:-25px}.hero{background:#74876b;color:#f5f2e7;padding-top:45px;padding-bottom:60px}.hero h1{font-family:'Casa Editorial',Georgia,serif;font-weight:400;letter-spacing:-3px}.hero .small-note,.hero .image-caption{color:#f5f2e7}.hero .wp-block-button__link{background:#f5f2e7;color:#354336;border-color:#f5f2e7}.hero .is-style-outline .wp-block-button__link{background:transparent;color:#f5f2e7}.hero-art .wp-block-image{margin:0;height:100%}.hero-art img{width:100%;height:100%;max-height:650px;min-height:550px;object-fit:cover;display:block;border-radius:0}.hero-art .image-caption{font-size:9px}.portrait .wp-block-image{margin:0}.portrait img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover}.section h2,.section h3{font-family:'Casa Editorial',Georgia,serif;font-weight:400}.cuisine{background:#74876b}.cuisine-card p:not(.card-number){color:#f5f2e7}.cuisine .editor-note{color:#f5f2e7}.card-number{color:#f5f2e7}.footer-brand{font-family:'Casa Editorial',Georgia,serif!important}.wp-block-navigation__responsive-container.is-menu-open{background:#74876b;color:#f5f2e7}.wp-block-navigation__responsive-container.is-menu-open a{color:#f5f2e7}@media(max-width:600px){.site-header{min-height:92px}.brand-logo{width:125px;height:74px}.brand-logo img{width:125px;height:125px;margin-top:-25px}.hero-art img{min-height:0;height:auto;max-height:none}.hero{padding-top:45px;padding-bottom:45px}.hero h1{font-size:80px;line-height:.98}}

/* Contenuti dalla presentazione stampa fornita. */
.story-copy p{font-size:15px;line-height:1.75}.story-copy h2{font-size:clamp(38px,4vw,58px)}.dish-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 65px;margin-top:45px}.dish-card{border-top:1px solid #35433644;padding-top:24px;margin:0}.dish-card h3{font-size:31px;line-height:1.15;margin:0 0 15px}.dish-card p{font-size:15px;color:#535f50}.dishes{background:#eeefe7}.team-wine{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid #35433622}.team-wine h2{font-size:48px}.team-wine p:not(.eyebrow){font-size:16px}.wine-copy{margin:0}.booking .wp-block-buttons{justify-content:center;margin:30px auto}.hero h1{font-size:clamp(65px,7vw,103px)}.booking-status{border:0}.contact-links{font-size:14px}.menu-panel .status{margin-bottom:0}@media(max-width:600px){.dish-grid,.team-wine{display:flex;flex-direction:column;gap:35px}.team-wine h2{font-size:39px}.hero h1{font-size:74px}.story-copy p{font-size:16px}}

/* Fotografie originali fornite per Casa Flo'. */
.photo-section{background:#e9ecdf;padding-top:75px;padding-bottom:75px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:40px}.photo-grid .wp-block-image{margin:0}.photo-grid img{width:100%;height:auto;display:block;aspect-ratio:2/3;object-fit:cover}.wine-copy .wp-block-image{margin:30px 0 0;max-width:380px}.wine-copy .wp-block-image img{width:100%;height:auto;display:block}.hero-art img{object-position:50% 50%}@media(max-width:600px){.photo-grid{grid-template-columns:1fr;gap:24px}.photo-section{padding-top:55px;padding-bottom:55px}.wine-copy .wp-block-image{max-width:none}}

/* Preserve the capitalization of the restaurant name in section labels. */
.eyebrow{text-transform:none}

.menu-pdf{text-align:center}.menu-pdf .wp-block-buttons{justify-content:center;margin:30px auto 18px}.menu-pdf h2{letter-spacing:3px}

.portrait img{max-height:none;height:auto;object-fit:contain}

/* Logo originale trasparente sul salvia campionato dal profilo ufficiale. */
.brand-logo{position:relative;width:160px;height:64px;overflow:hidden;display:block}.brand-logo img{position:absolute;display:block;width:200.23px;height:200.23px;max-width:none;left:-21.27px;top:-62.64px;margin:0;object-fit:contain}@media(max-width:600px){.brand-logo{width:140px;height:56px}.brand-logo img{width:175.20px;height:175.20px;left:-18.61px;top:-54.81px;margin:0}}

.site-footer{background:#74876b;color:#f5f2e7;border-top:1px solid #f5f2e733}.site-footer a{color:inherit}.site-footer .brand-logo{margin-bottom:22px}

/* Revisione prenotazioni e impaginazione iPhone. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.site-header .nav-booking .wp-block-button__link{font-size:19px;font-weight:700;padding:16px 27px;min-height:52px}.booking .wp-block-buttons{align-items:stretch;gap:18px}.booking .wp-block-button__link{font-size:18px;font-weight:700;min-height:58px;display:inline-flex;align-items:center;justify-content:center;padding:17px 28px}.booking .booking-phone .wp-block-button__link{font-size:23px;letter-spacing:1px}.hero-art img{aspect-ratio:3/4;object-fit:cover}.contact-details{overflow-wrap:anywhere}.wp-block-group,.wp-block-image{min-width:0}
@media(max-width:900px){.site-header{gap:16px}.site-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.site-header .wp-block-navigation__responsive-container-open{display:flex!important;min-height:48px;min-width:48px;align-items:center;justify-content:center}.site-header .wp-block-navigation{margin-left:auto}.site-header .wp-block-navigation__responsive-container.is-menu-open{display:flex!important}.site-header .wp-block-navigation__responsive-container.is-menu-open a{min-height:48px;display:flex;align-items:center}}
@media(max-width:600px){.site-header{flex-wrap:nowrap;padding:14px 5%;gap:10px;min-height:92px}.site-header .brand-logo{width:125px;height:50px}.site-header .brand-logo img{width:156.42px;height:156.42px;left:-16.61px;top:-48.94px}.site-header .wp-block-navigation{order:2;margin-left:auto}.site-header .wp-block-buttons{order:3;flex-shrink:0}.site-header .nav-booking .wp-block-button__link{font-size:16px;padding:13px 14px;min-height:48px}.hero h1{font-size:clamp(52px,16vw,74px);letter-spacing:-2px}.section h2{font-size:clamp(32px,9vw,39px)}.booking h2{font-size:clamp(50px,14vw,64px)}.hero-art img{min-height:0;max-height:none;width:100%;height:auto}.photo-grid img{max-width:100%;height:auto}.booking .wp-block-buttons{flex-direction:column;gap:16px;align-items:stretch;width:100%}.booking .wp-block-button{width:100%;margin:0}.booking .wp-block-button__link{width:100%;min-height:58px}.contact-details a{display:inline-block;padding-top:7px;padding-bottom:7px}.site-footer{padding-bottom:max(35px,env(safe-area-inset-bottom))}.hero-copy .wp-block-button__link{min-height:48px}.story-copy h2{font-size:clamp(32px,9vw,39px)}}
@media(max-width:360px){.site-header{gap:6px}.site-header .brand-logo{width:110px;height:44px}.site-header .brand-logo img{width:137.65px;height:137.65px;left:-14.62px;top:-43.07px}.site-header .nav-booking .wp-block-button__link{font-size:14px;padding:12px 10px}.site-header .wp-block-navigation__responsive-container-open{min-width:40px}}

/* Accessibilità e leggibilità su desktop, tablet e smartphone. */
.site-header,.hero,.cuisine,.site-footer,.wp-block-navigation__responsive-container.is-menu-open{background-color:#607456}
.site-header :focus-visible,.hero :focus-visible,.cuisine :focus-visible,.site-footer :focus-visible{outline:3px solid #f5f2e7;outline-offset:5px}
.hero h1,.section h2,.section h3{overflow-wrap:normal}
.site-header .wp-block-navigation__responsive-container-close{min-width:48px;min-height:48px}
.site-footer .small-note{font-size:13px;line-height:1.8;max-width:480px}
.site-footer .small-note a{display:inline-block;padding:8px 0;text-decoration:underline}
.content-page{max-width:960px;margin-inline:auto!important;padding-inline:6%;overflow-wrap:anywhere}
.content-page h1{font-size:clamp(38px,7vw,68px);line-height:1.1;margin-bottom:35px}
.content-page h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(22px,4vw,28px);line-height:1.35;letter-spacing:0;margin:40px 0 18px}
.content-page p,.content-page li{font-size:17px;line-height:1.75}
.content-page a{text-decoration:underline}
@media(max-width:600px){.hero h1{font-size:clamp(48px,15vw,70px)}.site-header .wp-block-buttons{margin:0}.content-page{padding-block:50px}.site-footer .small-note{max-width:none}}
