/*
Theme Name: Made Cohesive
Theme URI: https://madecohesive.com
Author: Made Cohesive
Description: An editorial block theme for the Made Cohesive branding and website studio. Off-white base, baby pink, pistachio and burgundy, set in Bodoni Moda and Jost.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: made-cohesive
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { padding: 0; }
main.mc-main { margin-top: 0; }
:focus-visible { outline: 2px solid var(--wp--preset--color--theme-4); outline-offset: 3px; }
[id] { scroll-margin-top: 90px; }
h1, h2, h3, h4 { text-wrap: balance; }
h1 em, h2 em, h3 em { color: var(--wp--preset--color--theme-4); }
.has-theme-4-background-color h1 em, .has-theme-4-background-color h2 em,
.has-burgundy-deep-background-color h1 em, .has-burgundy-deep-background-color h2 em { color: var(--wp--preset--color--theme-2); }
.has-theme-2-background-color h2 em { color: var(--wp--preset--color--burgundy-deep); }
.mc-serif { font-family: var(--wp--preset--font-family--bodoni-moda); }
.mc-serif em { color: var(--wp--preset--color--theme-4); }
img { display: block; }

/* Rules */
.wp-block-separator { border: 0 !important; border-top: 1px solid currentColor !important; opacity: 1 !important; height: 0 !important; background: none !important; margin-block: 1.25rem !important; width: 100% !important; max-width: none !important; }

/* Images */
.wp-block-image { margin: 0; overflow: hidden; }
.wp-block-image img { width: 100%; height: auto; transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.wp-block-image:hover img { transform: scale(1.03); }
.wp-block-image figcaption { text-align: left; margin-top: .6rem; }

/* Buttons */
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--wp--preset--color--theme-4); border: 1px solid var(--wp--preset--color--theme-4); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--theme-4); color: var(--wp--preset--color--theme-1); }
.wp-block-button__link { transition: background .3s, color .3s; }
.has-theme-4-background-color .wp-block-button__link { background: var(--wp--preset--color--theme-2); color: var(--wp--preset--color--burgundy-deep); border-color: var(--wp--preset--color--theme-2); }
.has-burgundy-deep-background-color .wp-block-button__link { background: var(--wp--preset--color--theme-2); color: var(--wp--preset--color--burgundy-deep); border-color: var(--wp--preset--color--theme-2); }

/* Details (services, FAQ) */
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--theme-5); padding: 0; margin: 0 !important; }
.wp-block-details summary { cursor: pointer; list-style: none; display: flex; align-items: baseline; gap: 1rem; padding: 1.4rem 0; font-family: var(--wp--preset--font-family--bodoni-moda); font-size: clamp(1.4rem, 3.4vw, 3.2rem); line-height: 1.05; letter-spacing: -0.02em; transition: color .3s; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; margin-left: auto; font-family: var(--wp--preset--font-family--jost); font-size: 1.6rem; color: var(--wp--preset--color--theme-4); transition: transform .3s; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details summary em { font-size: .45em; color: var(--wp--preset--color--theme-4); min-width: 2.4em; }
.wp-block-details summary:hover, .wp-block-details[open] summary { color: var(--wp--preset--color--theme-4); font-style: italic; }
.wp-block-details > *:not(summary) { padding-bottom: 1.6rem; }
#letters .wp-block-details summary { font-size: clamp(1.2rem, 2vw, 1.7rem); }
#services .wp-block-details:first-of-type, #letters .wp-block-details:first-of-type { border-top: 1px solid var(--wp--preset--color--theme-5); }

/* Mood strip (gallery scrolls sideways, captions below, no overlays) */
.wp-block-gallery.mc-strip { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; gap: 20px !important; scroll-snap-type: x mandatory; padding-bottom: 14px; scrollbar-width: thin; scrollbar-color: var(--wp--preset--color--theme-2) transparent; }
.wp-block-gallery.mc-strip .wp-block-image { flex: 0 0 clamp(230px, 26vw, 360px) !important; width: auto !important; margin: 0 !important; scroll-snap-align: start; display: flex !important; flex-direction: column !important; overflow: visible; }
.wp-block-gallery.mc-strip .wp-block-image:nth-child(odd) { margin-top: 48px !important; }
.wp-block-gallery.mc-strip .wp-block-image img { aspect-ratio: 3 / 4; object-fit: cover; height: auto !important; flex: none !important; }
.wp-block-gallery.mc-strip .wp-block-image figcaption { position: static !important; background: none !important; color: var(--wp--preset--color--theme-1) !important; padding: .7rem 0 0 !important; margin: 0 !important; max-height: none !important; font-family: var(--wp--preset--font-family--bodoni-moda); font-style: normal; font-size: 1.1rem; text-align: left !important; }
.wp-block-gallery.mc-strip figcaption em { color: var(--wp--preset--color--theme-2); margin-right: .3em; }
@media (max-width: 640px) { .wp-block-gallery.mc-strip .wp-block-image:nth-child(odd) { margin-top: 0 !important; } }

/* Lists */
.wp-block-list { list-style: none; padding: 0; margin: 0; }
.wp-block-list li { border-top: 1px solid rgba(43,29,26,.18); padding: .6rem 0; }

/* ---------- Header ---------- */
.mc-header { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--theme-1); border-bottom: 1px solid var(--wp--preset--color--theme-5); }
.admin-bar .mc-header { top: 32px; }
.mc-header .wp-block-site-title { font-family: var(--wp--preset--font-family--bodoni-moda); font-size: 1.6rem; letter-spacing: -.01em; margin: 0; }
.mc-header .wp-block-site-title a { color: var(--wp--preset--color--theme-5); text-decoration: none; }
.mc-header .wp-block-navigation { font-size: .74rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; }
.mc-header .wp-block-navigation a { text-decoration: none; }
.mc-header .wp-block-navigation a:hover { color: var(--wp--preset--color--theme-4); }
.mc-header .wp-block-button__link { padding: .8rem 1.1rem; }
.mc-strip-top { background: var(--wp--preset--color--theme-4); color: var(--wp--preset--color--theme-2); font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; text-align: center; padding: .55rem 1rem; margin: 0; }
@media (max-width: 782px) { .mc-header .wp-block-buttons { display: none; } }

/* ---------- Footer ---------- */
.mc-wordmark { font-family: var(--wp--preset--font-family--bodoni-moda); font-size: clamp(3.4rem, 15vw, 15rem); line-height: .82; letter-spacing: -.05em; margin: 0 0 1.5rem -.04em; overflow-wrap: anywhere; }
.mc-wordmark em { color: var(--wp--preset--color--theme-4); }
.mc-footer .wp-block-navigation, .mc-footer p.mc-small { font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; }
.mc-footer a { text-decoration: none; color: var(--wp--preset--color--theme-5); }

/* ---------- Contact form ---------- */
.mc-form { display: grid; gap: 1.4rem; }
.mc-form .mc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
@media (max-width: 600px) { .mc-form .mc-two { grid-template-columns: 1fr; } }
.mc-form label { display: block; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--theme-2); margin-bottom: .4rem; }
.mc-form input, .mc-form textarea { width: 100%; box-sizing: border-box; background: transparent; border: 0; border-bottom: 1px solid var(--wp--preset--color--theme-1); color: var(--wp--preset--color--theme-1); font-family: var(--wp--preset--font-family--bodoni-moda); font-size: 1.25rem; padding: .4rem 0 .6rem; border-radius: 0; }
.mc-form input:focus, .mc-form textarea:focus { outline: none; border-bottom: 2px solid var(--wp--preset--color--theme-2); }
.mc-form textarea { min-height: 110px; resize: vertical; }
.mc-form .mc-hp { position: absolute; left: -9999px; }
.mc-form button { justify-self: start; cursor: pointer; background: var(--wp--preset--color--theme-2); color: var(--wp--preset--color--burgundy-deep); border: 0; font: 500 .8rem var(--wp--preset--font-family--jost); letter-spacing: .18em; text-transform: uppercase; padding: 1.05rem 1.6rem; }
.mc-form button:hover { background: var(--wp--preset--color--theme-1); }
.mc-note { border-top: 1px solid var(--wp--preset--color--theme-2); padding-top: 1rem; font-family: var(--wp--preset--font-family--bodoni-moda); font-size: 1.4rem; font-style: italic; }
.mc-note.err { color: var(--wp--preset--color--theme-2); font-size: 1rem; font-style: normal; font-family: var(--wp--preset--font-family--jost); }

/* Page title on generic pages */
.mc-page-title { font-size: clamp(2.6rem, 6vw, 5rem); }
