/*
Theme Name: Mamma Figlia — Thoughtfully Elsewhere
Author: Mamma Figlia
Description: Custom Mamma Figlia travel website with thirteen page designs and an editable golden yellow palette. Includes a guided page setup and private inquiry storage. This is a coded classic theme, not an Elementor template kit.
Version: 1.2.38
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mamma-figlia
*/
html { scroll-padding-top: 110px; }
body.admin-bar .site-header { top: 32px; }
@media(max-width:782px) { body.admin-bar .site-header { top:46px; } }
.altrove-page .site-header,
.altrove-page .site-header.is-scrolled,
.altrove-page .mobile-nav,
.altrove-page .site-header.is-scrolled .mobile-nav { background: var(--mf-peach, #e8cbb9); color: #2a6149; }
.altrove-page .brand,
.altrove-page .site-header.is-scrolled .brand { background: var(--mf-blue, #064b73); }
.altrove-page .mobile-nav .nav-link,
.altrove-page .site-header.is-scrolled .mobile-nav .nav-link { color: #2a6149; }
.altrove-page .journey-footer { background: var(--mf-forest, #123f31); color: var(--mf-gold, #e7bf72); }
.altrove-page .footer-tagline { color: var(--mf-gold, #e7bf72); }
.altrove-page .molise-footer__mark { background: #d18f78; }
.altrove-page .molise-footer .social-icon { color: #d18f78; }

/* Approved practical-summary palette and layout. */
.molise-page .journey-facts { --facts-blue: #314b5e; --facts-terra: #a24e36; --facts-peach: #e4a38a; --facts-gold: #e7bf72; --facts-light-blue: #b9d5e5; box-sizing: border-box; width: min(1100px, calc(100% - 48px)); margin: 0 auto clamp(36px, 5vw, 72px); padding: clamp(26px, 5vw, 44px); border: 20px solid var(--facts-terra); background: var(--facts-blue); color: var(--facts-peach); }
.journey-facts h2 { margin: 0 0 30px; color: var(--facts-gold); font-family: var(--display); font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 300; line-height: 1.15; letter-spacing: .025em; }
.journey-facts dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 40px; margin: 0; }
.journey-facts dl > div { min-width: 0; }
.journey-facts dt { margin: 0 0 8px; color: var(--facts-gold); font-family: Georgia, serif; font-size: .73rem; font-weight: 400; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; }
.journey-facts dd { margin: 0; color: var(--facts-peach); font-family: var(--display); font-size: clamp(1.5rem, 2.3vw, 2rem); font-weight: 300; line-height: 1.3; letter-spacing: .02em; }
.molise-page .journey-facts small { display: block; margin-top: 4px; color: var(--facts-peach); font-size: .8em; font-style: italic; }
.journey-facts__base { grid-column: 1 / -1; }
.molise-page .journey-facts .journey-facts__note { max-width: 65ch; margin: 30px 0 28px; color: var(--facts-light-blue); font-family: Georgia, serif; font-size: clamp(1.06rem, 1.3vw, 1.25rem); line-height: 1.75; letter-spacing: .09em; text-wrap: balance; }
.journey-facts__link { display: flex; justify-content: center; align-items: center; gap: 10px; box-sizing: border-box; width: fit-content; max-width: 100%; min-height: 44px; margin: 0 auto; padding: 10px 15px; border: 1px solid var(--facts-peach); color: var(--facts-peach); font-family: var(--display); font-size: 1.3125rem; font-weight: 300; line-height: 1.4; letter-spacing: .025em; text-align: center; }
.journey-facts__link span[aria-hidden] { flex-shrink: 0; }
.journey-facts__link:hover { background: var(--facts-peach); color: var(--facts-blue); }
.journey-facts__link:focus-visible { outline: 2px solid var(--facts-peach); outline-offset: 5px; }
@media(max-width:540px) { .journey-facts dl { grid-template-columns: minmax(0, 1fr); } .molise-page .journey-facts { width: calc(100% - 32px); padding: 26px 22px; border-width: 14px; } }

/* Traveling with us: approved peach editorial section. */
.journeys-page .traveling-with-us { box-sizing: border-box; width: min(1500px, calc(100% - var(--panel-gutter) - var(--panel-gutter))); margin: 0 auto; padding: clamp(30px, 7vw, 64px); border: 0; background: #e8cbb9; color: #332e29; }
.traveling-with-us .hosting-label { margin: 0 0 24px; font-family: Georgia, serif; font-size: .75rem; line-height: 1.5; letter-spacing: .17em; text-transform: uppercase; color: #064b73; }
.traveling-with-us h2 { margin: 0 0 30px; color: #2a6149; font-family: var(--display); font-size: clamp(2.5rem, 7vw, 3.75rem); font-weight: 300; line-height: 1.05; letter-spacing: .015em; }
.traveling-with-us h2 em { color: #a24e36; font-weight: 300; }
.traveling-with-us .hosting-copy { max-width: 62ch; }
.traveling-with-us .hosting-copy p { margin: 0 0 23px; font-family: Georgia, serif; color: #332e29; font-size: clamp(1rem, 2.4vw, 1.125rem); font-weight: 400; line-height: 1.8; letter-spacing: .025em; text-wrap: pretty; }
.traveling-with-us .hosting-signature { margin: 32px 0 0; font-family: var(--display); color: #2a6149; font-size: 1.8125rem; font-style: italic; font-weight: 400; line-height: 1.3; letter-spacing: .04em; }
@media(max-width:420px) { .journeys-page .traveling-with-us { padding: 30px 24px; } }

/* A separate family sentiment between hosting and regional journeys. */
.journeys-page .journeys-family-band { box-sizing: border-box; width: min(1500px, calc(100% - var(--panel-gutter) - var(--panel-gutter))); margin: clamp(24px, 4.4vw, 60px) auto 0; padding: clamp(30px, 4vw, 48px) clamp(24px, 7vw, 64px); background: var(--terra, #b85e43); text-align: center; }
.journeys-family-band p { margin: 0; color: var(--mf-gold, #e7bf72); font-family: var(--display); font-size: clamp(1.7rem, 3vw, 2.6rem); font-style: italic; font-weight: 300; line-height: 1.25; letter-spacing: .045em; text-wrap: balance; }

/* Hosting layout: two opening paragraphs, then photograph and closing copy. */
.journeys-page .traveling-with-us { padding: clamp(26px, 5vw, 56px); }
.traveling-with-us .hosting-copy { max-width: none; min-width: 0; }
.traveling-with-us .hosting-copy p { font-size: 1rem; }
.traveling-with-us .hosting-opening { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); margin-bottom: 32px; }
.traveling-with-us .hosting-opening p { margin: 0; }
.traveling-with-us .hosting-bottom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: center; }
.traveling-with-us .hosting-photo { min-width: 0; margin: 0; }
.traveling-with-us .hosting-photo img { display: block; width: 100%; height: auto; }
.traveling-with-us .hosting-closing { transform: translateY(20px); }
.traveling-with-us .hosting-closing .hosting-signature { margin: 28px 0 0; font-family: var(--display); font-size: 1.8125rem; font-style: italic; color: #2a6149; line-height: 1.3; letter-spacing: .04em; }
@media(max-width:650px) { .traveling-with-us .hosting-opening, .traveling-with-us .hosting-bottom { grid-template-columns: minmax(0, 1fr); } .traveling-with-us .hosting-opening { gap: 23px; } .traveling-with-us .hosting-bottom { gap: 28px; } .traveling-with-us .hosting-closing { transform: none; } }

/* Balance the substantial full photograph against all hosting copy. */
.traveling-with-us .hosting-balanced { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(30px, 4vw, 54px); }
.traveling-with-us .hosting-balanced-copy { min-width: 0; }
.traveling-with-us .hosting-balanced-copy p { font-size: clamp(1rem, 1.3vw, 1.125rem); line-height: 1.65; margin: 0 0 22px; letter-spacing: .025em; }
.traveling-with-us .hosting-balanced-copy .hosting-signature { font-family: var(--display); color: #2a6149; font-size: 1.8125rem; font-style: italic; font-weight: 400; line-height: 1.3; letter-spacing: .04em; margin: 24px 0 0; }
.traveling-with-us .hosting-balanced .hosting-photo { width: 100%; margin: 0; }
.traveling-with-us .hosting-balanced .hosting-photo img { display: block; width: 100%; height: auto; }
@media(max-width:1000px) { .traveling-with-us .hosting-balanced { grid-template-columns: minmax(0, 1fr); gap: 32px; } .traveling-with-us .hosting-balanced-copy p { font-size: 1rem; line-height: 1.8; } .traveling-with-us .hosting-balanced-copy .hosting-signature { font-size: 1.8125rem; line-height: 1.3; } }

/* Consistent soft ink and light editorial paragraph typography. */
body { --ink: #332e29; }
body main p:not(.eyebrow):not(.section-label):not(.hosting-label):not(.breadcrumbs):not(.journey-number) {
  font-family: var(--display, "Cormorant Garamond", Garamond, Georgia, serif) !important;
  font-weight: 300 !important;
}
body main p:not(.eyebrow):not(.section-label) strong,
body main p:not(.eyebrow):not(.section-label) b { font-weight: 400; }

/* Optional journey updates consent on all inquiry forms. */
body .mf-journey-updates { margin: 22px 0 26px; font-size: 1rem; line-height: 1.5; }
body .mf-journey-updates-choice { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; text-transform: none; letter-spacing: normal; }
body .mf-journey-updates-choice input { flex: 0 0 auto; width: 20px; height: 20px; min-height: 0; margin: 3px 0 0; accent-color: currentColor; }
body .mf-journey-updates p { margin: 12px 0 0; font-size: .9em; }
body .mf-journey-updates a { color: inherit; text-decoration: underline; overflow-wrap: anywhere; }

/* Warm ecru consent checkbox with a clear selected and keyboard-focus state. */
body .mf-journey-updates-choice input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid #8f997b;
  border-radius: 3px;
  background-color: #f3e6d3;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  cursor: pointer;
}
body .mf-journey-updates-choice input[type="checkbox"]:checked {
  background-color: #2a6149;
  border-color: #2a6149;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='%23f3e6d3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
body .mf-journey-updates-choice input[type="checkbox"]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
@media (forced-colors: active) {
  body .mf-journey-updates-choice input[type="checkbox"] { appearance: auto; -webkit-appearance: auto; }
}
