.gcfg-surface{background:linear-gradient(180deg,#fbfaf7 0%,#ffffff 22%,#fbfaf7 100%)}
.gcfg-container{max-width:1180px;margin:0 auto;padding:0 24px}
.gcfg-hero{padding:92px 0 44px;border-bottom:1px solid rgba(36,26,16,.1);background:linear-gradient(180deg,rgba(115,91,50,.06),rgba(255,255,255,0))}
.gcfg-hero h1{margin:0 0 14px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.04}
.gcfg-lead{max-width:760px;font-size:1.08rem;line-height:1.65;opacity:.84;margin:0}
.gcfg-kicker,.gcfg-kicker-small,.gcfg-overline{text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;opacity:.72;margin:0 0 12px}
.gcfg-kicker-small{font-size:.72rem;margin-bottom:10px}
.gcfg-overline{font-size:.7rem;margin-bottom:14px}
.gcfg-pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.gcfg-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#f4efe5;border:1px solid rgba(80,58,24,.1);font-size:.8rem;line-height:1;color:#5b4a2b}
.gcfg-section{padding:46px 0 84px}
.gcfg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:28px}
.gcfg-card{background:#fff;border:1px solid rgba(36,26,16,.09);border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(25,20,12,.05);display:flex;flex-direction:column;min-height:100%}
.gcfg-card--archive{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.gcfg-card--archive:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(25,20,12,.09);border-color:rgba(98,71,29,.2)}
.gcfg-thumb{display:block;aspect-ratio:4/3;background:#f3eee5}
.gcfg-thumb img,.gcfg-featured img{display:block;width:100%;height:100%;object-fit:cover}
.gcfg-card-body{padding:24px;display:flex;flex-direction:column;gap:0;flex:1}
.gcfg-card-title{margin:0 0 10px;font-size:1.34rem;line-height:1.16}
.gcfg-card-title a,.gcfg-mini-card h3 a,.gcfg-panel a,.gcfg-card-link a{text-decoration:none}
.gcfg-card-title a:hover,.gcfg-mini-card h3 a:hover,.gcfg-panel a:hover,.gcfg-card-link a:hover{text-decoration:underline}
.gcfg-meta{font-size:.96rem;opacity:.76;margin:0 0 12px;line-height:1.45}
.gcfg-meta--lead{font-size:1.06rem;margin-bottom:0}
.gcfg-card-body p{margin-top:0}
.gcfg-card-link{margin-top:auto;padding-top:10px;font-size:.93rem}
.gcfg-card-link a{font-weight:600}
.gcfg-empty{padding:24px 0}
.gcfg-pagination{padding-top:34px}
.gcfg-single-wrap{padding:56px 0 96px}
.gcfg-entry-header{margin-bottom:32px}
.gcfg-entry-header--single{max-width:900px}
.gcfg-featured{margin:0 0 36px;border-radius:28px;overflow:hidden;border:1px solid rgba(36,26,16,.08);background:#f2ede4}
.gcfg-featured--single img{max-height:560px}
.gcfg-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);gap:44px;align-items:start}
.gcfg-main .gcfg-section-block{margin-bottom:34px}
.gcfg-section-block{padding:0 0 24px;border-bottom:1px solid rgba(36,26,16,.1)}
.gcfg-section-block:last-child{margin-bottom:0}
.gcfg-section-block h2{margin:0 0 16px;font-size:1.38rem;line-height:1.2}
.gcfg-highlight{padding:28px;border:1px solid rgba(80,58,24,.12);border-radius:24px;background:linear-gradient(180deg,#faf5eb,#f6f1e8)}
.gcfg-highlight--decreto{box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.gcfg-proclamation{font-size:1.2rem;line-height:1.6;margin:0}
.gcfg-richtext > :first-child{margin-top:0}
.gcfg-richtext > :last-child{margin-bottom:0}
.gcfg-sidebar{position:relative}
.gcfg-panel{padding:24px;border:1px solid rgba(36,26,16,.1);border-radius:24px;background:#fffdfa;position:sticky;top:32px;box-shadow:0 10px 26px rgba(25,20,12,.04)}
.gcfg-panel h3{margin:0 0 14px;font-size:1.08rem}
.gcfg-panel ul{margin:0;padding-left:18px}
.gcfg-panel li{margin:0 0 10px;line-height:1.5}
.gcfg-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.gcfg-mini-card{padding:20px;border:1px solid rgba(36,26,16,.08);border-radius:20px;background:#fff}
.gcfg-mini-card h3{margin:0 0 8px;font-size:1.05rem;line-height:1.25}
.gcfg-mini-card p:last-child{margin-bottom:0}
.gcfg-grid .gcfg-thumb + .gcfg-card-body{padding-top:22px}
.gcfg-grid-insigniti .gcfg-card,.gcfg-grid-luoghi .gcfg-card{height:100%}
@media (max-width: 900px){.gcfg-layout{grid-template-columns:1fr}.gcfg-panel{position:static}.gcfg-hero{padding-top:72px}.gcfg-featured--single img{max-height:none}}
@media (max-width: 640px){.gcfg-container{padding:0 18px}.gcfg-card-body{padding:20px}.gcfg-highlight{padding:22px}.gcfg-single-wrap{padding-top:42px}.gcfg-section{padding-top:34px}}

.gcfg-pill--link{text-decoration:none}
.gcfg-pill--link:hover{background:#ede3cf;text-decoration:none}
.gcfg-panel a{text-underline-offset:2px}


/* v0.4.6: portrait-safe media for insigniti */
.gcfg-thumb--insignito{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gcfg-thumb--insignito img{width:100%;height:100%;object-fit:cover;object-position:center top}
.gcfg-featured--insignito{padding:18px;text-align:center}
.gcfg-featured--insignito img{display:block;width:auto;height:auto;max-width:100%;max-height:min(82vh,980px);margin:0 auto;object-fit:contain}
@media (max-width: 900px){.gcfg-featured--insignito{padding:12px}}


/* v0.4.8: sidebar portrait treatment for insigniti single */
.gcfg-featured--sidebar{margin:0 0 18px;border-radius:20px;overflow:hidden;border:1px solid rgba(36,26,16,.08);background:#f2ede4;box-shadow:0 8px 22px rgba(25,20,12,.04)}
.gcfg-featured--insignito-sidebar{padding:10px;text-align:center}
.gcfg-featured--insignito-sidebar img{display:block;width:100%;height:auto;max-height:540px;margin:0 auto;object-fit:contain;object-position:center top;border-radius:14px}
@media (min-width: 901px){.single-gcfg_insignito .gcfg-sidebar{padding-top:6px}}
@media (max-width: 900px){.gcfg-featured--insignito-sidebar{max-width:420px;margin:0 auto 20px}}

/* v0.5.0: native map block */
.gcfg-section--map{padding-bottom:20px}
.gcfg-section-heading{max-width:820px;margin-bottom:20px}
.gcfg-section-heading h2{margin:0 0 8px;font-size:1.6rem;line-height:1.15}
.gcfg-section-heading p{margin:0;opacity:.78;line-height:1.6}
.gcfg-map-block{margin:0}
.gcfg-map{position:relative;border:1px solid rgba(36,26,16,.12);border-radius:28px;overflow:hidden;background:#ebe3d2;box-shadow:0 18px 42px rgba(25,20,12,.07)}
.gcfg-map-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;background:#e7dfcf}
.gcfg-map-viewport.is-dragging{cursor:grabbing}
.gcfg-map-tiles,.gcfg-map-markers{position:absolute;inset:0}
.gcfg-map-tile{position:absolute;width:256px;height:256px;max-width:none}
.gcfg-map-marker{position:absolute;width:24px;height:24px;margin-left:-12px;margin-top:-24px;border:0;background:transparent;padding:0;cursor:pointer;z-index:3}
.gcfg-map-marker span{display:block;width:24px;height:24px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#7b5a2a;border:2px solid #fff;box-shadow:0 6px 16px rgba(25,20,12,.24)}
.gcfg-map-marker span:after{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}
.gcfg-map-marker.is-active span,.gcfg-map-marker:hover span{background:#5a401b}
.gcfg-map-popup-shell{position:absolute;display:none;z-index:8;background:#fffdfa;border:1px solid rgba(36,26,16,.12);border-radius:18px;box-shadow:0 18px 42px rgba(25,20,12,.14);padding:16px;pointer-events:auto}
.gcfg-map-popup-shell h3{margin:0 0 6px;font-size:1.02rem;line-height:1.2}
.gcfg-map-popup-shell p{margin:0 0 8px}
.gcfg-map-popup-shell p:last-child{margin-bottom:0}
.gcfg-map-kicker{text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;opacity:.7}
.gcfg-map-meta{font-size:.92rem;opacity:.78}
.gcfg-map-related{font-size:.92rem;line-height:1.5}
.gcfg-map-link a,.gcfg-map-popup-shell h3 a{text-decoration:none}
.gcfg-map-link a:hover,.gcfg-map-popup-shell h3 a:hover{text-decoration:underline}
.gcfg-map-controls{position:absolute;right:14px;top:14px;z-index:5;display:flex;flex-direction:column;gap:8px}
.gcfg-map-zoom{width:42px;height:42px;border-radius:14px;border:1px solid rgba(36,26,16,.12);background:rgba(255,253,250,.96);font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(25,20,12,.08)}
.gcfg-map-zoom:hover{background:#fff}
.gcfg-map-attribution{position:absolute;left:14px;bottom:12px;z-index:5;padding:6px 10px;border-radius:999px;background:rgba(255,253,250,.92);font-size:.72rem;color:#5f5137;border:1px solid rgba(36,26,16,.08)}
.gcfg-panel--map .gcfg-map{border-radius:22px}
.gcfg-panel--map .gcfg-map-attribution{font-size:.68rem;padding:5px 8px}
.gcfg-panel--map .gcfg-map-controls{right:10px;top:10px}
.gcfg-panel--map .gcfg-map-zoom{width:38px;height:38px;border-radius:12px}
@media (max-width:900px){.gcfg-map{border-radius:22px}.gcfg-map-popup-shell{max-width:min(300px,calc(100vw - 56px))}.gcfg-section--map{padding-top:20px}}


/* v0.5.3: map UI hardening */
.gcfg-map-popup-shell{color:#2b2114;min-width:240px;max-width:min(320px,calc(100vw - 56px))}
.gcfg-map-popup-shell a{color:#5b3f17 !important}
.gcfg-map-popup-shell strong{color:#2b2114}
.gcfg-map-controls{pointer-events:auto}
.gcfg-map-zoom{color:#2b2114 !important;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center;-webkit-appearance:none;appearance:none}
.gcfg-map-zoom span{display:block;line-height:1}
.gcfg-map-marker,.gcfg-map-popup-shell,.gcfg-map-controls{touch-action:manipulation}

/* v0.6.1: recipe editorial refinement */
.gcfg-layout--recipe{align-items:start}
.gcfg-single--ricetta .gcfg-entry-header--single{max-width:980px}
.gcfg-featured--ricetta img{max-height:640px}
.gcfg-recipe-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:34px}
.gcfg-recipe-card{margin-bottom:0;padding:26px;border:1px solid rgba(36,26,16,.1);border-radius:24px;background:#fffdfa;box-shadow:0 10px 26px rgba(25,20,12,.04)}
.gcfg-section-block--card{border-bottom:0}
.gcfg-list{margin:0;padding-left:1.2rem;line-height:1.7}
.gcfg-list li{margin:0 0 .55rem}
.gcfg-list--ordered{padding-left:1.35rem}
.gcfg-card--ricetta .gcfg-thumb{aspect-ratio:16/10}
@media (max-width:900px){.gcfg-recipe-duo{grid-template-columns:1fr}}

/* v0.6.2: ricette con provenienza visiva distinta */
.gcfg-provenienza-banner{margin:18px 0 6px;padding:16px 18px;border-radius:18px;border:1px solid rgba(36,26,16,.10);background:#fffdfa;max-width:900px}
.gcfg-provenienza-banner p{margin:8px 0 0;font-size:15px;line-height:1.6;color:#4c4034}
.gcfg-provenienza-label{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.gcfg-provenienza-banner--cenacolo{background:linear-gradient(180deg,#fffaf0 0%,#fffdfa 100%);border-color:rgba(116,86,38,.20)}
.gcfg-provenienza-banner--luogo{background:linear-gradient(180deg,#f7fbf7 0%,#fffdfa 100%);border-color:rgba(66,112,70,.18)}
.gcfg-provenienza-banner--insignito{background:linear-gradient(180deg,#fbf7ff 0%,#fffdfa 100%);border-color:rgba(109,72,157,.18)}
.gcfg-provenienza-banner--mista{background:linear-gradient(180deg,#f6f3eb 0%,#fffdfa 100%);border-color:rgba(86,66,36,.18)}
.gcfg-provenienza-inline{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4;background:#f4efe8;color:#3d3023}
.gcfg-provenienza-inline--cenacolo{background:#f6ead2;color:#6a4c19}
.gcfg-provenienza-inline--luogo{background:#e6f2e6;color:#335d36}
.gcfg-provenienza-inline--insignito{background:#eee7fb;color:#5d3f88}
.gcfg-provenienza-inline--mista{background:#ede8df;color:#5a4931}
.gcfg-card--ricetta{border-top:4px solid #d8ccb7}
.gcfg-card--ricetta-cenacolo{border-top-color:#c9a45a}
.gcfg-card--ricetta-luogo{border-top-color:#6c9a6e}
.gcfg-card--ricetta-insignito{border-top-color:#8b74b8}
.gcfg-card--ricetta-mista{border-top-color:#9a845b}
.gcfg-kicker-small--provenienza{display:inline-block;margin-bottom:10px;padding:4px 10px;border-radius:999px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:#f6f1e9;color:#5b4a37}
.gcfg-kicker-small--cenacolo{background:#f6ead2;color:#6a4c19}
.gcfg-kicker-small--luogo{background:#e6f2e6;color:#335d36}
.gcfg-kicker-small--insignito{background:#eee7fb;color:#5d3f88}
.gcfg-kicker-small--mista{background:#ede8df;color:#5a4931}
.gcfg-meta--relations a{font-weight:600}
