/* MyFrenchTable Terroir concept — scoped to the homepage. */
.mft-terroir-home { --navy:#142c4a; --navy2:#1c3857; --red:#b63838; --red2:#a7262e; --cream:#f9f6ee; --paper:#fffdf8; --wheat:#d6ac62; --ink:#293c3f; --olive:#59634a; --line:#e8e0d3; --serif:Georgia,"Times New Roman",serif; --sans:"Helvetica Neue",Arial,sans-serif;}
.mft-terroir-home * {box-sizing:border-box}
.mft-terroir-home {margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
.mft-terroir-home img {max-width:100%;display:block}
.mft-terroir-home a {color:inherit;text-decoration:none}
.mft-terroir-home button {font:inherit;cursor:pointer}
.mft-terroir-home ::selection {background:#eacfc4;color:#172a43}
.mft-terroir-home .wrap {max-width:1250px;margin:auto;padding-left:30px;padding-right:30px}
.mft-terroir-home .hero-shell {padding-top:24px}
.mft-terroir-home .hero {min-height:566px;position:relative;overflow:hidden;background-color:#596647;border-radius:3px;box-shadow:0 15px 45px rgba(44,41,28,.12)}
.mft-terroir-home .hero-photo {position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(13,34,57,.94) 0%,rgba(13,34,57,.85) 28%,rgba(13,34,57,.44) 50%,rgba(12,32,48,.08) 79%),url("terroir-hero.webp");background-size:cover;background-position:center 51%;transform:scale(1.001)}
.mft-terroir-home .hero-inner {position:relative;z-index:1;display:flex;align-items:center;min-height:566px;padding:70px 8%;color:#fff}
.mft-terroir-home .hero-copy {width:min(590px,100%)}
.mft-terroir-home .eyebrow {display:flex;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.25em;font-weight:750;font-size:11px;color:#dcb77a}
.mft-terroir-home .eyebrow:before {content:"";width:31px;height:1px;background:#dcb77a}
.mft-terroir-home .hero h1 {font-family:var(--serif);font-size:clamp(58px,6.3vw,92px);letter-spacing:-.045em;line-height:1.04;font-weight:400;margin:28px 0 20px;text-wrap:balance}
.mft-terroir-home .hero h1 em {font-weight:400;color:#f3d3aa;white-space:nowrap}
.mft-terroir-home .hero p {font-size:18px;line-height:1.8;color:#eeede8;max-width:480px;margin:0 0 32px}
.mft-terroir-home .hero-buttons {display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.mft-terroir-home .btn {display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:3px;padding:16px 23px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;border:1px solid transparent}
.mft-terroir-home .btn-red {background:var(--red);color:#fff}
.mft-terroir-home .btn-red:hover {background:#a32730}
.mft-terroir-home .btn-outline {border-color:rgba(255,255,255,.6);color:#fff}
.mft-terroir-home .btn-outline:hover {background:rgba(255,255,255,.1)}
.mft-terroir-home .hero-seal {position:absolute;right:34px;bottom:31px;border:1px solid #fbf4dc;background:#fdf8edee;width:143px;height:143px;border-radius:100%;color:var(--navy);display:grid;place-content:center;text-align:center;transform:rotate(9deg);box-shadow:0 6px 25px #0002}
.mft-terroir-home .seal-top {font-size:10px;letter-spacing:.18em;font-weight:800;text-transform:uppercase}
.mft-terroir-home .seal-main {font-family:var(--serif);font-style:italic;font-size:27px;margin:6px 0}
.mft-terroir-home .seal-bottom {font-size:9px;letter-spacing:.18em;color:var(--red);font-weight:800;text-transform:uppercase}
.mft-terroir-home .seal-stars {font-size:11px;color:#b58a4a;margin-top:8px}
.mft-terroir-home .features {display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);margin:0 30px;border:1px solid #ede5d6;border-top:0;box-shadow:0 9px 20px #352e1b08}
.mft-terroir-home .feature {display:flex;align-items:center;gap:18px;padding:29px 30px}
.mft-terroir-home .feature:not(:last-child) {border-right:1px solid #ece4d7}
.mft-terroir-home .feature-icon {width:42px;height:42px;display:grid;place-items:center;color:#b69b6c;flex:0 0 auto}
.mft-terroir-home .feature-title {font-family:var(--serif);color:var(--navy);font-size:19px;line-height:1.15}
.mft-terroir-home .feature-desc {font-size:12px;color:#79766c;margin-top:5px;line-height:1.5}
.mft-terroir-home section {scroll-margin-top:25px}
.mft-terroir-home .recipes {padding-top:95px;padding-bottom:83px}
.mft-terroir-home .center {text-align:center}
.mft-terroir-home .section-kicker {color:var(--red);text-transform:uppercase;font-weight:800;letter-spacing:.24em;font-size:11px}
.mft-terroir-home .heading {font-family:var(--serif);font-weight:400;font-size:clamp(35px,4vw,54px);letter-spacing:-.035em;color:var(--navy);margin:13px 0}
.mft-terroir-home .section-lede {font-size:16px;color:#6c6e69;line-height:1.75;max-width:650px;margin:12px auto 0}
.mft-terroir-home .ornament {display:flex;justify-content:center;align-items:center;gap:12px;margin:23px auto 35px;color:#c8a56f;font-size:16px}
.mft-terroir-home .ornament:before, .mft-terroir-home .ornament:after {content:"";width:60px;height:1px;background:#dac9a9}
.mft-terroir-home .cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.mft-terroir-home .recipe-card {background:#fffdfa;border:1px solid var(--line);box-shadow:0 9px 22px rgba(42,40,35,.055);transition:transform .2s,box-shadow .2s;overflow:hidden}
.mft-terroir-home .recipe-card:hover {transform:translateY(-4px);box-shadow:0 15px 32px #202a3420}
.mft-terroir-home .recipe-card img {width:100%;height:254px;object-fit:cover}
.mft-terroir-home .card-body {padding:24px 25px 27px}
.mft-terroir-home .card-kicker {font-size:10px;letter-spacing:.2em;color:var(--red);text-transform:uppercase;font-weight:800}
.mft-terroir-home .card-title {font-family:var(--serif);color:var(--navy);font-size:29px;letter-spacing:-.02em;line-height:1.2;margin:11px 0}
.mft-terroir-home .card-desc {font-size:13px;line-height:1.65;color:#70716e;min-height:45px}
.mft-terroir-home .card-link {margin-top:20px;display:inline-flex;align-items:center;gap:9px;color:var(--red);font-size:11px;letter-spacing:.09em;font-weight:800;text-transform:uppercase;border-bottom:1px solid #e9cbc7;padding-bottom:5px}
.mft-terroir-home .center-cta {text-align:center;margin-top:34px}
.mft-terroir-home .btn-navy {background:var(--navy);color:#fff}
.mft-terroir-home .btn-navy:hover {background:#294361}
.mft-terroir-home .terroir {background:#ede7d9;padding:25px 0}
.mft-terroir-home .terroir-inner {display:grid;grid-template-columns:1fr 1fr;min-height:435px;background:#f8f3e9;border:1px solid #e1d6bd}
.mft-terroir-home .terroir-visual {position:relative;overflow:hidden;min-height:435px}
.mft-terroir-home .terroir-visual img {height:100%;width:100%;object-fit:cover}
.mft-terroir-home .terroir-visual::before {content:"";position:absolute;inset:0;box-shadow:inset 0 0 75px #402b1b17;pointer-events:none}
.mft-terroir-home .terroir-text {display:flex;flex-direction:column;justify-content:center;padding:58px 69px}
.mft-terroir-home .terroir-text .heading {font-size:48px;margin:12px 0 20px}
.mft-terroir-home .terroir-text p {font-size:15px;line-height:1.85;color:#66665f;max-width:440px}
.mft-terroir-home .small-note {display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:20px;font-style:italic;color:#967340;margin-top:18px}
.mft-terroir-home .small-note:before {content:"";width:37px;height:1px;background:#bfa36a}
.mft-terroir-home .regions {padding-top:91px;padding-bottom:90px}
.mft-terroir-home .region-row {display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:center}
.mft-terroir-home .regions .heading {font-size:49px;max-width:470px}
.mft-terroir-home .regions .section-lede {margin:18px 0;max-width:470px}
.mft-terroir-home .region-tags {display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.mft-terroir-home .region-tag {border:1px solid #dcd3c3;background:#fffdfa;padding:20px 24px;transition:border-color .2s,transform .2s}
.mft-terroir-home .region-tag:hover {border-color:var(--red);transform:translateY(-2px)}
.mft-terroir-home .region-name {font-family:var(--serif);font-size:22px;color:var(--navy)}
.mft-terroir-home .region-dish {font-size:12px;color:#8c7863;margin-top:5px}
.mft-terroir-home .region-tag:before {content:"◆";font-size:8px;color:var(--red);float:right;margin-top:8px}
.mft-terroir-home .quote-strip {background:var(--navy);padding:42px 22px;text-align:center;border-top:4px solid #ba353a;color:#fff}
.mft-terroir-home .quote-strip p {font-family:var(--serif);font-size:clamp(25px,3vw,38px);font-style:italic;line-height:1.45;max-width:1000px;margin:0 auto 13px}
.mft-terroir-home .quote-strip span {font-size:11px;letter-spacing:.22em;color:#dec293;text-transform:uppercase}
@media (max-width:1020px) {
.mft-terroir-home .hero-inner {padding-left:7%}
.mft-terroir-home .feature {padding:24px 16px}
.mft-terroir-home .terroir-text {padding:44px}
}
@media (max-width:760px) {
.mft-terroir-home .wrap {padding-left:17px;padding-right:17px}
.mft-terroir-home .hero-shell {padding-top:13px}
.mft-terroir-home .hero {min-height:595px}
.mft-terroir-home .hero-photo {background-image:linear-gradient(0deg,rgba(13,34,57,.92) 0%,rgba(13,34,57,.65) 46%,rgba(13,34,57,.02) 96%),url("terroir-hero.webp");background-position:62% 50%}
.mft-terroir-home .hero-inner {align-items:end;min-height:595px;padding:30px 25px 52px}
.mft-terroir-home .eyebrow {font-size:9px}
.mft-terroir-home .hero h1 {font-size:clamp(47px,12vw,71px);margin:18px 0}
.mft-terroir-home .hero h1 em {white-space:normal}
.mft-terroir-home .hero p {font-size:15px;line-height:1.75}
.mft-terroir-home .hero-seal {width:92px;height:92px;right:18px;top:20px;bottom:auto}
.mft-terroir-home .seal-main {font-size:19px;margin:1px}
.mft-terroir-home .seal-top, .mft-terroir-home .seal-bottom {font-size:7px}
.mft-terroir-home .seal-stars {margin:2px}
.mft-terroir-home .features {grid-template-columns:1fr;margin:0 4px}
.mft-terroir-home .feature {padding:18px 20px}
.mft-terroir-home .feature:not(:last-child) {border-right:0;border-bottom:1px solid #ece4d7}
.mft-terroir-home .recipes {padding-top:70px;padding-bottom:65px}
.mft-terroir-home .cards {grid-template-columns:1fr;gap:20px}
.mft-terroir-home .recipe-card img {height:260px}
.mft-terroir-home .heading {font-size:40px}
.mft-terroir-home .terroir-inner {grid-template-columns:1fr}
.mft-terroir-home .terroir-visual {height:290px;min-height:290px;max-height:290px}
.mft-terroir-home .terroir-visual img {height:290px;object-fit:cover}
.mft-terroir-home .terroir-text {padding:44px 27px 49px}
.mft-terroir-home .terroir-text .heading {font-size:39px}
.mft-terroir-home .regions {padding-top:70px;padding-bottom:70px}
.mft-terroir-home .region-row {grid-template-columns:1fr;gap:30px}
.mft-terroir-home .region-tags {gap:10px}
.mft-terroir-home .region-tag {padding:17px 15px}
.mft-terroir-home .region-name {font-size:20px}
}
@media (max-width:385px) {
.mft-terroir-home .hero-buttons {gap:9px}
.mft-terroir-home .btn {padding:13px 15px}
.mft-terroir-home .hero h1 {font-size:49px}
.mft-terroir-home .hero {min-height:620px}
.mft-terroir-home .hero-inner {min-height:620px}
.mft-terroir-home .region-tags {grid-template-columns:1fr}
}
.mft-terroir-home .recipe-card .photo-tricolore {
      display:block;
      margin:14px 14px 0;
      padding:3px;
      border-radius:17px;
      background:linear-gradient(135deg,#254e80 0%,#254e80 31%,#ffffff 47%,#ffffff 54%,#bc3740 75%,#bc3740 100%);
      box-shadow:0 2px 10px rgba(20,44,74,.07);
      overflow:hidden;
    }
.mft-terroir-home .recipe-card .photo-tricolore img {
      width:100%;
      height:240px;
      object-fit:cover;
      border-radius:13px;
    }
.mft-terroir-home .hero {
      border:3px solid transparent;
      border-radius:18px;
      background:linear-gradient(#596647,#596647) padding-box,
                 linear-gradient(135deg,#254e80 0%,#254e80 31%,#ffffff 48%,#ffffff 54%,#bc3740 75%,#bc3740 100%) border-box;
    }
.mft-terroir-home .terroir-visual {
      min-height:415px;
      margin:13px;
      padding:3px;
      border-radius:18px;
      background:linear-gradient(135deg,#254e80 0%,#254e80 31%,#ffffff 48%,#ffffff 54%,#bc3740 75%,#bc3740 100%);
    }
.mft-terroir-home .terroir-visual img {border-radius:13px;}
@media (max-width:760px) {
.mft-terroir-home .recipe-card .photo-tricolore {margin:13px 13px 0;border-radius:16px;}
.mft-terroir-home .recipe-card .photo-tricolore img {height:235px;border-radius:12px;}
.mft-terroir-home .terroir-visual {min-height:310px;margin:12px;}
}
/* WordPress-specific homepage layout isolation. */
.mft-home-main, .mft-home-main > .wp-block-shortcode {max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
.mft-home-main > .wp-block-shortcode {display:block}
.mft-terroir-home {font-family:Arial,Helvetica,sans-serif;background:#f9f6ee;color:#293c3f;overflow:hidden}
.mft-terroir-home a {text-decoration:none}
.mft-terroir-home .hero-photo {background-image:linear-gradient(90deg,rgba(13,34,57,.94) 0%,rgba(13,34,57,.85) 28%,rgba(13,34,57,.44) 50%,rgba(12,32,48,.08) 79%),url('terroir-hero.webp');}
.mft-terroir-home .recipe-card .photo-tricolore, .mft-terroir-home .terroir-visual {box-sizing:border-box}
.mft-terroir-home :is(a,button):focus-visible {outline:3px solid #c23b46;outline-offset:4px}
@media (prefers-reduced-motion:reduce){.mft-terroir-home *, .mft-terroir-home *::before,.mft-terroir-home *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v3.9.3 — WP block-theme layout fix on desktop and tablet only.
   The Gutenberg constrained shortcode sometimes limits the whole hero to
   ~445px on a wide screen. Recenter this one homepage component within
   the viewport; its .wrap remains capped at 1250px. Do NOT touch mobile. */
@media (min-width:761px) {
  body.page .mft-home-main .mft-terroir-home {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 40px) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* v3.9.4 — Historical provincial coats of arms as subtle button watermarks.
   Decorative SVGs drawn for this theme from traditional heraldic blazons.
   No change to recipe, advertising, consent, or structured-data code. */
.mft-terroir-home .region-row {
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:clamp(28px,4vw,65px);
}
.mft-terroir-home .region-tags {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  min-width:0;
}
.mft-terroir-home .region-tag {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  isolation:isolate;
  min-width:0;
  min-height:154px;
  padding:23px 21px;
  overflow:hidden;
  border:1px solid #e2d4be;
  border-radius:15px;
  background:linear-gradient(104deg,#fffefa 0%,#fbf7ef 76%,#eee8dc 100%);
  box-shadow:0 6px 20px rgba(27,45,67,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.mft-terroir-home .region-tag::before {
  content:"";
  position:absolute;
  z-index:2;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(to right,#214b80 0 33.3%,#fefefe 33.3% 66.6%,#b82e3b 66.6% 100%);
}
.mft-terroir-home .region-tag::after {content:none}
.mft-terroir-home .region-tag:hover {
  border-color:#c7ab83;
  box-shadow:0 10px 24px rgba(27,45,67,.12);
  transform:translateY(-3px);
}
.mft-terroir-home .region-tag:focus-visible {outline:3px solid #214b80;outline-offset:3px}
.mft-terroir-home .region-crest {
  position:absolute;
  z-index:0;
  right:-7px;
  top:50%;
  transform:translateY(-48%) rotate(6deg);
  width:132px;
  height:146px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.40;
  pointer-events:none;
  filter:saturate(.86);
}
.mft-terroir-home .region-tag--picardie .region-crest {background-image:url("blason-picardie.svg")}
.mft-terroir-home .region-tag--auvergne .region-crest {background-image:url("blason-auvergne.svg")}
.mft-terroir-home .region-tag--savoie .region-crest {background-image:url("blason-savoie.svg")}
.mft-terroir-home .region-tag--provence .region-crest {background-image:url("blason-provence.svg")}
.mft-terroir-home .region-content {position:relative;z-index:1;display:block;max-width:76%;text-shadow:0 1px #fff8}
.mft-terroir-home .region-name {
  font-family:var(--serif);
  font-size:clamp(23px,2vw,29px);
  line-height:1.18;
  color:#142c4a;
  font-weight:600;
}
.mft-terroir-home .region-dish {color:#6f5e4c;font-size:12px;line-height:1.45;margin-top:10px;font-weight:600}
.mft-terroir-home .region-chevron {position:absolute;z-index:2;right:16px;bottom:15px;color:#a53339;font-size:18px;line-height:1}
@media (max-width:760px) {
  .mft-terroir-home .region-row {grid-template-columns:1fr;gap:28px}
  .mft-terroir-home .region-tags {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .mft-terroir-home .region-tag {padding:20px 17px;min-height:146px}
  .mft-terroir-home .region-crest {width:112px;height:123px;right:-11px;opacity:.31}
  .mft-terroir-home .region-name {font-size:22px}
  .mft-terroir-home .region-content {max-width:82%}
}
@media (max-width:560px) {
  .mft-terroir-home .region-tags {grid-template-columns:1fr;gap:12px}
  .mft-terroir-home .region-tag {min-height:126px;padding:20px 24px}
  .mft-terroir-home .region-crest {width:126px;height:137px;right:15px;opacity:.40}
  .mft-terroir-home .region-content {max-width:70%}
}
@media (prefers-reduced-motion: reduce) {
  .mft-terroir-home .region-tag {transition:none}
}


/* v3.9.5 — single cohesive buttons, coat of arms ON the same clickable surface.
   Use background images on the <a> itself; no detached crest markup/columns. */
.mft-terroir-home .region-tags {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:13px !important;
    width:100%;
}
.mft-terroir-home .region-tags > a.region-tag {
    display:flex !important;
    position:relative;
    box-sizing:border-box;
    align-items:center;
    justify-content:space-between;
    min-height:98px;
    padding:17px 68px 17px 23px;
    border-radius:14px;
    background-color:#fffdf9;
    background-repeat:no-repeat;
    background-position:center, right 32px center;
    background-size:cover, 92px 92px;
    box-shadow:0 4px 14px rgba(20,44,74,.055);
    overflow:hidden;
}
.mft-terroir-home .region-tag--picardie {
    background-image:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.97) 48%,rgba(255,253,249,.62) 100%),url('blason-picardie.svg') !important;
}
.mft-terroir-home .region-tag--auvergne {
    background-image:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.97) 48%,rgba(255,253,249,.62) 100%),url('blason-auvergne.svg') !important;
}
.mft-terroir-home .region-tag--savoie {
    background-image:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.97) 48%,rgba(255,253,249,.62) 100%),url('blason-savoie.svg') !important;
}
.mft-terroir-home .region-tag--provence {
    background-image:linear-gradient(90deg,#fffdf9 0%,rgba(255,253,249,.97) 48%,rgba(255,253,249,.62) 100%),url('blason-provence.svg') !important;
}
.mft-terroir-home .region-tag .region-content {max-width:82%;z-index:1}
.mft-terroir-home .region-tag .region-name {font-size:clamp(21px,1.8vw,26px)}
.mft-terroir-home .region-tag .region-dish {font-size:12px;line-height:1.35;margin-top:6px}
.mft-terroir-home .region-tag .region-chevron {right:17px;bottom:auto;top:50%;transform:translateY(-50%)}
.mft-terroir-home .region-crest {display:none!important}
@media(max-width:760px) {
    .mft-terroir-home .region-tags {grid-template-columns:1fr!important;gap:11px!important}
    .mft-terroir-home .region-tags > a.region-tag {min-height:96px;padding:15px 50px 15px 20px;background-size:cover,80px 80px;background-position:center,right 25px center}
}
/* Keep the regional title and dish stacked and left aligned on every screen. */
.mft-terroir-home .region-tags > a.region-tag {justify-content:flex-start !important;text-align:left !important}
.mft-terroir-home .region-tags > a.region-tag .region-content {
  display:flex !important; flex-direction:column !important; gap:0; align-items:flex-start;
  width:calc(100% - 65px); margin:0 auto 0 0; max-width:none;
}
.mft-terroir-home .region-tags > a.region-tag .region-name,
.mft-terroir-home .region-tags > a.region-tag .region-dish {display:block !important;width:100%;text-align:left !important}
