:root{
  --gaudium-bg:#f5f0e6;
  --gaudium-surface:#fbf8f2;
  --gaudium-card:#fffdfa;
  --gaudium-text:#2b2621;
  --gaudium-muted:#6e675f;
  --gaudium-line:rgba(43,38,33,.12);
  --gaudium-accent:#7d1d18;
  --gaudium-accent-hover:#5f1512;
  --gaudium-accent-soft:#ede1d4;
  --gaudium-shadow:0 16px 36px rgba(26,21,15,.06);
  --gaudium-radius:24px;
  --gaudium-shell:1300px;
  --gaudium-gutter:28px;
  --gaudium-logo-height:100px;
}

html{scroll-behavior:smooth}
body.gaudium{margin:0;background:var(--gaudium-bg);color:var(--gaudium-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7}
body.gaudium *{box-sizing:border-box}
body.gaudium a{color:var(--gaudium-accent);text-decoration:none}
body.gaudium a:hover{text-decoration:underline;text-underline-offset:3px}
body.gaudium h1,body.gaudium h2,body.gaudium h3,body.gaudium h4,body.gaudium h5,body.gaudium h6{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;color:var(--gaudium-text);letter-spacing:-.01em;line-height:1.06;margin:0 0 .55em}
body.gaudium p,body.gaudium ul,body.gaudium ol,body.gaudium blockquote{margin:0 0 1.1rem}
body.gaudium img{max-width:100%;height:auto}
.screen-reader-text{position:absolute;left:-9999px}

.gaudium-shell{max-width:var(--gaudium-shell);margin:0 auto;padding:0 var(--gaudium-gutter)}
.gaudium-site-wrap{min-height:calc(100vh - 112px)}

/* Header */
.gaudium-site-header{position:sticky;top:0;z-index:90;background:rgba(251,248,242,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--gaudium-line)}
.gaudium-site-header .gaudium-shell{max-width:none;width:100%;padding-left:10px;padding-right:10px}
.gaudium-header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:112px}
.gaudium-branding{display:flex;align-items:center;gap:12px;min-width:0}
.gaudium-logo{flex:0 0 auto;display:flex;align-items:center}
.gaudium-logo img,.custom-logo,.site-logo img{display:block;max-height:var(--gaudium-logo-height);width:auto;height:auto}
.gaudium-site-title{display:block;font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,2.9vw,3.35rem);line-height:1;color:var(--gaudium-text);max-width:none;white-space:nowrap;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis}
.gaudium-site-title:hover{text-decoration:none}
.gaudium-primary-nav{min-width:max-content;display:flex;justify-content:flex-end;align-items:center;justify-self:end;height:100%}
.gaudium-menu{display:flex;align-items:center;justify-content:flex-end;gap:18px;list-style:none;margin:0;padding:0;white-space:nowrap;flex-wrap:nowrap;height:100%}
.gaudium-menu li{margin:0;position:relative;flex:0 0 auto;display:flex;align-items:center}
.gaudium-menu a{display:block;padding:8px 0;color:var(--gaudium-text);font-size:.96rem;font-weight:500;line-height:1.15}
.gaudium-menu a:hover,.gaudium-menu .current-menu-item>a,.gaudium-menu .current_page_item>a{color:var(--gaudium-accent);text-decoration:none}
.gaudium-menu .menu-item-has-children>a::after{content:'▾';display:inline-block;margin-left:.42rem;font-size:.72em;opacity:.7;transform:translateY(-.08em)}
.gaudium-menu .sub-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:220px;list-style:none;margin:0;padding:10px;background:rgba(251,248,242,.98);border:1px solid var(--gaudium-line);border-radius:18px;box-shadow:var(--gaudium-shadow);z-index:120}
.gaudium-menu .sub-menu li{width:100%}
.gaudium-menu .sub-menu a{padding:10px 12px;border-radius:12px;white-space:normal;line-height:1.35}
.gaudium-menu .sub-menu a:hover,.gaudium-menu .sub-menu .current-menu-item>a{background:var(--gaudium-accent-soft)}
.gaudium-menu>li:hover>.sub-menu,.gaudium-menu>li:focus-within>.sub-menu{display:block}
.gaudium-menu-toggle{display:none;appearance:none;border:1px solid var(--gaudium-line);background:var(--gaudium-surface);color:var(--gaudium-text);border-radius:14px;padding:10px 12px;cursor:pointer;flex:0 0 auto}
.gaudium-menu-toggle span{display:block;width:22px;height:2px;background:currentColor;margin:4px 0}

/* Pages */
.gaudium-page{padding:56px 0 76px}
.home .gaudium-page{padding-top:0}
.gaudium-page-header{max-width:900px;margin:0 0 30px}
.gaudium-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;color:var(--gaudium-muted);margin:0 0 10px}
.gaudium-page-header h1{font-size:clamp(2.3rem,5vw,4.1rem);margin-bottom:12px}
.gaudium-page-description,.gaudium-page-header p{color:var(--gaudium-muted)}
.gaudium-entry-content{max-width:none}
.gaudium-page-thumb{margin:0 0 24px;border-radius:20px;overflow:hidden;border:1px solid var(--gaudium-line)}
.gaudium-page-thumb img{display:block;width:100%;height:auto}

/* Footer */
.gaudium-site-footer{padding:52px 0 24px;background:#231d18;color:#efe7d9;border-top:1px solid rgba(255,255,255,.08)}
.gaudium-site-footer .gaudium-footer-title,.gaudium-site-footer h3,.gaudium-site-footer .gaudium-footer-grid h3{color:#fbf8f2!important}
.gaudium-footer-grid{display:grid;grid-template-columns:1.15fr .9fr .9fr;gap:28px}
.gaudium-footer-title{font-size:1.9rem;margin-bottom:10px}
.gaudium-site-footer h3{font-size:1.45rem;margin-bottom:10px}
.gaudium-footer-copy{color:rgba(251,248,242,.78)}
.gaudium-footer-menu{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gaudium-footer-menu li{margin:0}
.gaudium-footer-menu a{color:#efe7d9}
.gaudium-footer-menu a:hover{color:#fff;text-decoration:none}
.gaudium-footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:.88rem;color:rgba(251,248,242,.68)}

/* Archive */
.gaudium-archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.gaudium-archive-card{background:var(--gaudium-card);border:1px solid var(--gaudium-line);border-radius:20px;overflow:hidden;box-shadow:var(--gaudium-shadow)}
.gaudium-archive-thumb{display:block;aspect-ratio:4/3;background:rgba(154,123,79,.08)}
.gaudium-archive-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.gaudium-archive-body{padding:22px}
.gaudium-pagination{margin-top:28px}

/* Core block spacing */
.entry-content .wp-block-group,.entry-content .wp-block-cover,.entry-content .wp-block-columns,.entry-content .wp-block-shortcode{margin-top:0;margin-bottom:0}
.entry-content > .wp-block-group,
.entry-content > .wp-block-columns,
.entry-content > .wp-block-shortcode,
.entry-content > .wp-block-cover{margin-bottom:34px}
.entry-content .alignwide{max-width:1200px}
.entry-content .alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:none}
.entry-content .wp-block-cover{overflow:hidden}
.entry-content .wp-block-cover .wp-block-cover__inner-container{max-width:var(--gaudium-shell);margin:0 auto;padding:0 var(--gaudium-gutter)}
.entry-content .gaudium-section-header{max-width:860px;margin:0 0 28px}
.entry-content .gaudium-section-header h2{font-size:clamp(1.9rem,4vw,3.1rem)}
.entry-content .gaudium-section-header p{color:var(--gaudium-muted);font-size:1.05rem}
.entry-content .gaudium-section{padding:6px 0}
.entry-content .gaudium-slab,
.entry-content .gaudium-panel,
.entry-content .gaudium-shortcode-frame,
.entry-content .gaudium-closing{background:var(--gaudium-card);border:1px solid var(--gaudium-line);border-radius:24px;box-shadow:var(--gaudium-shadow)}
.entry-content .gaudium-slab,
.entry-content .gaudium-panel{padding:28px;height:100%}
.entry-content .gaudium-slab h3,
.entry-content .gaudium-panel h3{font-size:1.7rem;margin-bottom:10px}
.entry-content .gaudium-slab p:last-child,
.entry-content .gaudium-panel p:last-child{margin-bottom:0}
.entry-content .gaudium-shortcode-frame{padding:28px}
.entry-content .gaudium-closing{padding:40px;text-align:center;background:linear-gradient(180deg,rgba(255,253,250,.78),rgba(237,225,212,.34))}
.entry-content .wp-block-columns{gap:24px;align-items:stretch}
.entry-content .wp-block-column > .gaudium-slab,
.entry-content .wp-block-column > .gaudium-panel{height:100%}

/* Hero */
.home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child{
  width:100vw;
  max-width:none;
  margin:0 0 40px calc(50% - 50vw);
  min-height:calc(100vh - 112px);
  border-radius:0 0 32px 32px;
  border:0;
}
.home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(24,18,14,.68) 0%,rgba(24,18,14,.44) 38%,rgba(24,18,14,.18) 70%,rgba(24,18,14,.08) 100%);
  pointer-events:none;
  z-index:1;
}
.home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child .wp-block-cover__inner-container{
  position:relative;
  z-index:2;
  width:100%;
  min-height:calc(100vh - 112px);
  display:flex;
  align-items:center;
  padding-left:clamp(28px,5vw,70px)!important;
  padding-right:clamp(28px,5vw,70px)!important;
  padding-top:64px!important;
  padding-bottom:64px!important;
}
.home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child h1{font-size:clamp(3.2rem,7vw,6rem);max-width:10ch;color:#fbf8f2;text-shadow:0 10px 22px rgba(0,0,0,.18)}
.home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child p{max-width:42rem;color:rgba(251,248,242,.94);font-size:1.12rem}
.home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child .wp-block-buttons{margin-top:28px}
.home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child .has-small-font-size{margin-top:16px;opacity:.88;color:rgba(251,248,242,.82)}

/* Home sections */
.home .gaudium-entry-content > .wp-block-group,
.home .gaudium-entry-content > .wp-block-columns,
.home .gaudium-entry-content > .wp-block-shortcode{max-width:var(--gaudium-shell);margin-left:auto;margin-right:auto;padding-left:var(--gaudium-gutter);padding-right:var(--gaudium-gutter)}
.home .gaudium-entry-content > .wp-block-group.gaudium-section{padding-top:48px;padding-bottom:48px;border-radius:28px;border:1px solid var(--gaudium-line)}
.home .gaudium-entry-content > .wp-block-group.gaudium-section:nth-of-type(odd){background:rgba(255,253,250,.74)}
.home .gaudium-entry-content > .wp-block-group.gaudium-section:nth-of-type(even){background:linear-gradient(180deg,rgba(237,225,212,.28),rgba(255,248,242,.46))}
.home .gaudium-shortcode-frame{background:transparent;border:0;box-shadow:none;padding:0}

/* Buttons */
body.gaudium .wp-block-button__link,
body.gaudium .wp-element-button,
body.gaudium input[type="submit"],
body.gaudium input[type="button"],
body.gaudium input[type="reset"]{
  appearance:none;
  border-radius:999px;
  padding:14px 22px;
  background:var(--gaudium-accent)!important;
  color:#fbf8f2!important;
  border:1px solid var(--gaudium-accent)!important;
  box-shadow:none!important;
  font-weight:600;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
body.gaudium .wp-block-button__link:hover,
body.gaudium .wp-element-button:hover,
body.gaudium input[type="submit"]:hover,
body.gaudium input[type="button"]:hover,
body.gaudium input[type="reset"]:hover{
  background:var(--gaudium-accent-hover)!important;
  border-color:var(--gaudium-accent-hover)!important;
  color:#fbf8f2!important;
  text-decoration:none!important;
}
body.gaudium .wp-block-button.is-style-outline .wp-block-button__link,
body.gaudium .wp-block-button .wp-block-button__link.is-style-outline{
  background:transparent!important;
  color:var(--gaudium-text)!important;
  border:1px solid rgba(43,38,33,.18)!important;
}
body.gaudium .wp-block-button.is-style-outline .wp-block-button__link:hover,
body.gaudium .wp-block-button .wp-block-button__link.is-style-outline:hover{
  background:var(--gaudium-accent)!important;
  border-color:var(--gaudium-accent)!important;
  color:#fbf8f2!important;
}

/* Plugin harmonisation */
.gcfg-surface,.gcfg-archive-wrap,.gcfg-single-wrap{background:transparent!important}
.gcfg-container,
.gcfg-archive-wrap,
.gcfg-single-wrap,
.gcfg-map-archive,
.gcfg-hero-inner,
.gcfg-section-inner,
.gcfg-recipe-wrap,
.gcfg-single-grid,
.gcfg-archive-grid-wrap{max-width:var(--gaudium-shell)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--gaudium-gutter)!important;padding-right:var(--gaudium-gutter)!important;width:100%!important}
.gcfg-grid,.gcfg-mini-grid,.gcfg-recipe-duo{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:24px!important}
.gcfg-card,.gcfg-mini-card,.gcfg-panel,.gcfg-highlight,.gcfg-recipe-card,.gcfg-map-popup-shell{background:var(--gaudium-card)!important;border:1px solid var(--gaudium-line)!important;box-shadow:var(--gaudium-shadow)!important;border-radius:22px!important}
.gcfg-card-title,.gcfg-section-block h2,.gcfg-section-heading h2,.gcfg-panel h3,.gcfg-mini-card h3,.gcfg-entry-header h1{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif!important;color:var(--gaudium-text)!important}
.gcfg-featured,.gcfg-thumb,.gcfg-map,.gcfg-featured--sidebar{border-radius:22px!important;border-color:var(--gaudium-line)!important}
.gcfg-card-body p,.gcfg-meta,.gcfg-kicker,.gcfg-kicker-small,.gcfg-overline,.gcfg-map-meta,.gcfg-map-related,.gcfg-card-link{color:var(--gaudium-muted)!important}
.gcfg-card-title a,.gcfg-map-popup-shell a,.gcfg-map-link a{color:var(--gaudium-accent)!important}
.gcfg-card--archive:hover{transform:none!important}
.gcfg-map-zoom{background:rgba(251,248,242,.95)!important;color:var(--gaudium-text)!important}
.home .gcfg-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.home .gcfg-card,.home .gcfg-recipe-card{height:100%!important;display:flex!important;flex-direction:column!important}
.home .gcfg-card-body{padding:24px!important;display:flex!important;flex-direction:column!important;gap:8px!important}
.home .gcfg-card-title{font-size:1.5rem!important;line-height:1.08!important;margin:0 0 2px!important}
.home .gcfg-meta{margin:0 0 6px!important;font-size:.94rem!important;line-height:1.55!important}
.home .gcfg-card-body p,.home .gcfg-card-body li{font-size:1rem!important;line-height:1.65!important;color:var(--gaudium-text)!important}
.home .gcfg-card-link{margin-top:auto!important;padding-top:10px!important;font-size:.94rem!important}
.home .gcfg-card-link a{font-weight:600!important}
.home .gcfg-map{border-radius:24px!important}
.gaudiummap,.gaudium-map-wrap{border-radius:24px;overflow:hidden}

/* Legacy cleanup */
.geodir-change-location,
.geodir-location-search,
.geodir-location-switcher,
.gd-location-switcher,
[class*="geodir-location-switcher"],
[id*="geodir-location-switcher"]{display:none!important}

.has-text-align-center{text-align:center}

@media (max-width: 1180px){
  .home .gcfg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width: 980px){
  :root{--gaudium-gutter:22px}
  .gaudium-site-header .gaudium-shell{padding-left:12px;padding-right:12px}
  .gaudium-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:88px}
  .gaudium-site-wrap{min-height:calc(100vh - 88px)}
  .gaudium-site-title{display:none}
  .gaudium-menu-toggle{display:block}
  .gaudium-primary-nav{display:none;position:absolute;right:var(--gaudium-gutter);left:var(--gaudium-gutter);top:88px;background:rgba(251,248,242,.98);border:1px solid var(--gaudium-line);border-radius:20px;box-shadow:var(--gaudium-shadow);padding:16px 20px;min-width:0}
  .gaudium-primary-nav.is-open{display:block}
  .gaudium-menu{flex-direction:column;align-items:flex-start;gap:6px;white-space:normal}
  .gaudium-menu li{width:100%}
  .gaudium-menu a{width:100%;padding:8px 0}
  .gaudium-menu .sub-menu{display:block;position:static;min-width:0;margin:6px 0 0;padding:8px 0 0 14px;background:transparent;border:0;box-shadow:none}
  .home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child{min-height:calc(100svh - 88px)}
  .home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child .wp-block-cover__inner-container{min-height:calc(100svh - 88px);padding-left:22px!important;padding-right:22px!important}
  .gaudium-footer-grid{grid-template-columns:1fr}
}

@media (max-width: 782px){
  :root{--gaudium-gutter:18px}
  .gaudium-page{padding:42px 0 56px}
  .entry-content .gaudium-slab,.entry-content .gaudium-panel{padding:22px}
  .home .gaudium-entry-content > .wp-block-group.gaudium-section{padding-top:32px;padding-bottom:32px;border-radius:22px}
  .home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child{border-radius:0 0 24px 24px;margin-bottom:28px;min-height:calc(100svh - 88px)}
  .home .gaudium-entry-content > .wp-block-cover.gaudium-hero-block:first-child h1{font-size:clamp(2.4rem,11vw,3.8rem)}
  .home .gcfg-grid{grid-template-columns:1fr!important}
}
