/* Shared presentation for the existing Monument Valley child theme.
   Does not replace content, gallery data, originals, SEO or commerce settings. */
body.mm-site {
    --mm-ink: #282b25;
    --mm-muted: #54594f;
    --mm-paper: #faf9f6;
    --mm-surface: #fffefa;
    --mm-line: #e2e1d9;
    --mm-accent: #755236;
    --mm-green: #3c4430;
}
/* Replace duplicate navigation only; page text, photos and captions remain. */
body.mm-site:has(#mm-home) #mm-shared-header { display: block !important; }
body.mm-site #mm-home > header.mm-head { display: none !important; }
body.mm-site #mm-home .mm-sticky { display: none !important; }
body.mm-site #mm-shared-header {
    position: relative;
    z-index: 100;
    background: var(--mm-surface);
    color: var(--mm-ink);
    border-bottom: 1px solid var(--mm-line);
}
body.mm-site #mm-shared-header .mm-shell-row {
    position: relative;
    display: grid;
    grid-template-columns: minmax(225px, 1fr) auto auto;
    max-width: 1200px;
    min-height: 110px;
    padding: 20px 36px 14px;
    gap: 12px 24px;
    align-items: center;
    margin: auto;
}
body.mm-site #mm-shared-header .mm-shell-brand {
    grid-column: 1;
    grid-row: 1;
    font: 27px/1.2 Georgia, serif;
    letter-spacing: .055em;
    white-space: normal;
}
body.mm-site #mm-shared-header .mm-shell-brand small {
    color: var(--mm-accent);
    font: 12px/1.6 Arial, sans-serif;
    letter-spacing: .035em;
}
body.mm-site #mm-shared-header .mm-shell-phone {
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    font: 600 16px/1.4 Arial, sans-serif;
}
body.mm-site #mm-shared-header .mm-shell-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 28px;
    margin: 0;
}
body.mm-site #mm-shared-header .mm-shell-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    font: 15px/1.5 Arial, sans-serif;
}
body.mm-site #mm-shared-header .mm-shell-menu {
    grid-column: 3;
    grid-row: 1;
    position: static;
    margin: 0;
    padding: 0;
    border: 0;
}
body.mm-site #mm-shared-header summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid #a99986;
    border-radius: 4px;
    background: transparent;
    color: var(--mm-ink);
    font: 14px/1.5 Arial, sans-serif;
    cursor: pointer;
    white-space: nowrap;
    list-style: none;
}
body.mm-site #mm-shared-header summary::-webkit-details-marker { display: none; }
body.mm-site #mm-shared-header summary svg { flex: 0 0 18px; }
body.mm-site #mm-shared-header .mm-shell-menu[open] summary {
    background: var(--mm-green);
    border-color: var(--mm-green);
    color: #fff;
}
body.mm-site #mm-shared-header .mm-shell-menu nav {
    position: absolute;
    top: calc(100% + 1px);
    right: 36px;
    left: auto;
    width: 700px;
    max-width: calc(100% - 72px);
    max-height: min(70vh, var(--mm-panel-height, 70vh));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 16px 22px;
    margin: 0;
    background: var(--mm-surface);
    border: 1px solid var(--mm-line);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 14px 32px #282b2524;
}
body.mm-site #mm-shared-header .mm-shell-menu:not([open]) nav { display: none; }
body.mm-site #mm-shared-header .mm-shell-menu nav a {
    min-width: 0;
    min-height: 44px;
    padding: 11px 2px;
    font: 14px/1.5 Arial, sans-serif;
    overflow-wrap: anywhere;
    border-bottom: 1px solid var(--mm-line);
}
body.mm-site #mm-shared-header a[aria-current="page"] {
    color: var(--mm-accent);
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 2px;
}
body.mm-site #mm-shared-header a:hover { color: var(--mm-accent); }
body.mm-site .mm-skip-link {
    position: fixed;
    top: 8px;
    left: 12px;
    z-index: 100000;
    transform: translateY(-180%);
    padding: 12px 18px;
    border: 2px solid var(--mm-green);
    border-radius: 4px;
    background: var(--mm-surface);
    color: var(--mm-ink);
    font: 16px/1.5 Arial, sans-serif;
}
body.mm-site .mm-skip-link:focus { transform: none; }
body.mm-site :where(a, button, summary, input, textarea, select):focus-visible {
    outline: 3px solid var(--mm-accent) !important;
    outline-offset: 3px;
}
/* No new fonts or third-party resources. Keep the approved visual direction. */
body.mm-site #content :where(h2, h3, h4, h5, h6) {
    font-style: normal !important;
    text-transform: none;
    overflow-wrap: break-word;
}
body.mm-site #content :where(figcaption, .wp-caption-text) {
    color: var(--mm-muted);
    font-style: normal;
    font-size: 14px;
    line-height: 1.6;
}
body.mm-site #content :where(img, iframe, video) { max-width: 100%; }
body.mm-site #content :where(.wp-block-table, pre) { max-width: 100%; overflow-x: auto; }
body.mm-site #content :where(input[type=text], input[type=email], input[type=tel], input[type=url], input[type=search], input[type=number], textarea, select) {
    max-width: 100%;
    min-height: 44px;
    border: 1px solid #a9ab9f;
    border-radius: 4px;
    background: #fffefa;
    color: var(--mm-ink);
    font: 16px/1.5 Arial, sans-serif;
}
body.mm-site #content :where(.wp-block-button__link, .wpforms-submit) {
    min-height: 46px;
    border-radius: 4px;
    background: var(--mm-green);
    color: #fff;
    font-style: normal;
}
/* Preserve complete background-photo framing on existing catalogue cards. */
body.mm-site #mm-home .mm-card-photo {
    background-size: contain !important;
    background-repeat: no-repeat;
    background-position: center !important;
}
body.mm-site #content .gt3pg-isotope-gallery img { object-fit: contain !important; }
body.mm-site #content .woocommerce ul.products li.product img { object-fit: contain; }
body.mm-site .mm-shell-sticky { display: none; }
@media (max-width: 760px) {
    body.mm-site #mm-shared-header .mm-shell-row {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 98px;
        padding: 16px 20px;
        gap: 8px 12px;
    }
    body.mm-site #mm-shared-header .mm-shell-brand { font-size: 23px; }
    body.mm-site #mm-shared-header .mm-shell-brand small { font-size: 11px; }
    body.mm-site #mm-shared-header .mm-shell-phone {
        grid-column: 1;
        grid-row: 2;
        min-height: 32px;
        font-size: 15px;
    }
    body.mm-site #mm-shared-header .mm-shell-nav { display: none; }
    body.mm-site #mm-shared-header .mm-shell-menu { grid-column: 2; grid-row: 1 / 3; }
    body.mm-site #mm-shared-header summary { font-size: 13px; padding: 9px 11px; }
    body.mm-site #mm-shared-header .mm-shell-menu nav {
        right: 20px;
        left: 20px;
        width: auto;
        max-width: none;
        grid-template-columns: 1fr;
        padding: 10px 16px;
        max-height: min(65vh, var(--mm-panel-height, 65vh));
    }
    body.mm-site .mm-shell-sticky,
    body.mm-site:has(#mm-home) .mm-shell-sticky {
        display: flex !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 90;
        background: var(--mm-green);
        padding-bottom: env(safe-area-inset-bottom);
        box-shadow: 0 -2px 12px #282b251a;
    }
    body.mm-site .mm-shell-sticky a {
        flex: 1;
        min-width: 0;
        text-align: center;
        padding: 15px 8px;
        color: #fff !important;
        text-decoration: none;
        font: 14px/1.5 Arial, sans-serif;
    }
    body.mm-site .mm-shell-sticky a + a { border-left: 1px solid #737b67; }
    body.mm-site #colophon, body.mm-site #mm-home .mm-footer {
        padding-bottom: calc(85px + env(safe-area-inset-bottom)) !important;
    }
    body.mm-site.mm-form-focus .mm-shell-sticky,
    body.mm-site.mm-form-focus:has(#mm-home) .mm-shell-sticky { display: none !important; }
}
@media (max-width: 370px) {
    body.mm-site #mm-shared-header .mm-shell-row { padding-inline: 14px; gap: 8px; }
    body.mm-site #mm-shared-header .mm-shell-brand { font-size: 20px; }
    body.mm-site #mm-shared-header .mm-shell-brand small { max-width: 165px; font-size: 10px; }
    body.mm-site #mm-shared-header summary { gap: 6px; padding-inline: 8px; }
    body.mm-site #mm-shared-header .mm-shell-menu nav { left: 14px; right: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    body.mm-site #mm-shared-header *, body.mm-site .mm-skip-link { transition: none !important; }
}
@media print {
    body.mm-site #mm-shared-header, body.mm-site .mm-shell-sticky,
    body.mm-site:has(#mm-home) .mm-shell-sticky, body.mm-site .mm-skip-link { display: none !important; }
}


/* 2026-09-15: readable shared footer; cancel legacy negative column gutters. */
body.mm-site #colophon { color:#f7f6ef; }
body.mm-site #colophon .site-footer-area-inner { box-sizing:border-box; width:100%; max-width:1200px; margin-inline:auto; padding:28px 24px; }
body.mm-site #colophon .widget-area { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; width:100%; max-width:100%; margin:0; }
body.mm-site #colophon .widget { box-sizing:border-box; width:auto; min-width:0; max-width:100%; margin:0; padding:0; float:none; }
body.mm-site #colophon :is(.widget-title,.entry-title,.textwidget,.entry-content,.site-info) { color:#f7f6ef; overflow-wrap:break-word; text-indent:0; }
body.mm-site #colophon .widget-title { font:normal 25px/1.3 Georgia,serif; margin:0 0 16px; }
body.mm-site #colophon .textwidget { font:16px/1.75 Arial,sans-serif; }
body.mm-site #colophon .widget_recent_entries .entry { display:block; margin:0 0 18px; padding:0 0 18px; border-bottom:1px solid #717766; }
body.mm-site #colophon .widget_recent_entries .entry-content { margin:0; padding:0; width:100%; }
body.mm-site #colophon .widget_recent_entries .entry-title { font:normal 18px/1.5 Georgia,serif; }
body.mm-site #colophon .widget_recent_entries .entry-date { position:static; display:inline; border:0; font:13px/1.5 Arial,sans-serif; }
body.mm-site #colophon .widget_recent_entries .entry-date span { display:inline; font:inherit; }
body.mm-site #colophon a { color:#f7f6ef; }
body.mm-site #colophon .woocommerce-product-search { display:flex; gap:8px; width:100%; max-width:460px; }
body.mm-site #colophon .woocommerce-product-search input.search-field { min-width:0; width:100%; flex:1; padding:12px; }
body.mm-site #colophon .woocommerce-product-search button { position:static; width:auto; height:auto; clip:auto; clip-path:none; text-indent:0; padding:12px 16px; color:#282b25; background:#faf9f6; font:16px/1.5 Arial,sans-serif; }
body.mm-site #colophon .woocommerce-product-search button::before { display:none; }
body.mm-site #mm-shared-header details.mm-shell-menu nav { display:block; }
body.mm-site #mm-shared-header details.mm-shell-menu:not([open]) nav { display:none; }
body.mm-site #mm-shared-header .mm-menu-folder { margin:0; border:0; padding:0; }
body.mm-site #mm-shared-header details.mm-shell-menu[open] .mm-menu-folder > summary { display:flex; justify-content:space-between; width:100%; white-space:normal; text-align:left; border:0; border-bottom:1px solid var(--mm-line); border-radius:0; background:transparent; color:var(--mm-ink); padding:13px 2px; }
body.mm-site #mm-shared-header .mm-menu-folder > summary::after { content:"+"; margin-left:12px; }
body.mm-site #mm-shared-header .mm-menu-folder[open] > summary::after { content:"−"; }
@media(max-width:781px) {
 body.mm-site #colophon .site-footer-area-inner { padding:24px 20px; }
 body.mm-site #colophon .widget-area { grid-template-columns:minmax(0,1fr); gap:28px; margin:0!important; width:100%!important; max-width:100%!important; }
 body.mm-site #colophon .widget { margin:0!important; padding:0!important; width:100%!important; }
 body.mm-site #colophon .footer-menu-inner { display:flex; flex-direction:column; gap:20px; align-items:stretch; }
 body.mm-site #mm-shared-header .mm-shell-menu nav { padding-bottom:24px; }
}

