/*
Theme Name: Mexico Papel Picado
Theme URI: https://themexicoproject.com/
Author: Rotary Club of Newport Beach
Description: Custom theme for The Mexico Project. A shared header, navigation and footer frame every page; each page keeps its own design in its editable content.
Version: 1.0
Requires at least: 6.0
Update URI: false
Text Domain: mexicopicado
*/
:root{
  color-scheme:light;
  --tm-bg:#FAF4EA;--tm-surface:#FFFFFF;--tm-band:#F3EADB;--tm-ink:#1B2233;--tm-ink-2:#454B5C;--tm-muted:#6A6F7C;
  --tm-line:rgba(27,34,51,.12);--tm-line-2:rgba(27,34,51,.24);
  --tm-cobalt:#1F4FA3;--tm-cobalt-deep:#16336B;--tm-rosa:#D6336C;--tm-gold:#F29F1C;--tm-green:#2E8B57;
  --tm-on:#FFFFFF;--tm-head:rgba(250,244,234,.92);
  --tm-display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --tm-body:"Be Vietnam Pro","Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  color-scheme:dark;--tm-bg:#121826;--tm-surface:#1B2336;--tm-band:#171E2F;--tm-ink:#F6EFE3;--tm-ink-2:#D5D0C6;--tm-muted:#A8AAB3;
  --tm-line:rgba(246,239,227,.13);--tm-line-2:rgba(246,239,227,.26);--tm-cobalt:#7EA6F2;--tm-rosa:#F06A98;--tm-gold:#F6B44A;--tm-head:rgba(18,24,38,.9)}}
:root[data-theme="dark"]{color-scheme:dark;--tm-bg:#121826;--tm-surface:#1B2336;--tm-band:#171E2F;--tm-ink:#F6EFE3;--tm-ink-2:#D5D0C6;--tm-muted:#A8AAB3;
  --tm-line:rgba(246,239,227,.13);--tm-line-2:rgba(246,239,227,.26);--tm-cobalt:#7EA6F2;--tm-rosa:#F06A98;--tm-gold:#F6B44A;--tm-head:rgba(18,24,38,.9)}

/* page designs carry their own tokens: map them onto this palette */
html:root{--mx-green:#1F4FA3;--mx-green-dark:#16336B;--mx-terracotta:#D6336C;--mx-sand:#F3EADB;--mx-teal:#1F4FA3;--mx-gold:#F29F1C}
*{box-sizing:border-box}
html{background:var(--tm-bg);-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{margin:0;background:var(--tm-bg);color:var(--tm-ink);font-family:var(--tm-body);font-size:17px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--tm-gold);outline-offset:3px}
.tm-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--tm-gold);color:#1B2233;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.tm-skip:focus{top:12px}
.tm-in{max-width:1160px;margin:0 auto;padding-inline:20px}

/* header */
.tm-head{position:sticky;top:0;z-index:50;background:var(--tm-head);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--tm-line)}
.tm-flags{display:block;width:100%;height:10px}
.tm-head .tm-in{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px}
.tm-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.tm-brand svg{flex:none}
.tm-brand b{font-family:var(--tm-display);font-weight:400;font-size:24px;line-height:1;white-space:nowrap}
.tm-nav{display:flex;align-items:center;gap:2px}
.tm-nav>a,.tm-sub>summary{text-decoration:none;font-size:15px;font-weight:600;color:var(--tm-ink-2);padding:8px 12px;border-radius:999px;cursor:pointer;list-style:none}
.tm-sub>summary::-webkit-details-marker{display:none}
.tm-sub>summary::after{content:"";display:inline-block;margin-left:6px;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.tm-nav>a:hover,.tm-nav>a[aria-current="page"],.tm-sub>summary:hover{background:var(--tm-band);color:var(--tm-ink)}
.tm-nav>a.tm-cta{background:var(--tm-rosa);color:#fff;margin-left:6px}
.tm-nav>a.tm-cta:hover{background:var(--tm-cobalt);color:#fff}
.tm-sub{position:relative}
.tm-pop{position:absolute;left:0;top:46px;width:290px;padding:8px;border-radius:14px;background:var(--tm-surface);border:1px solid var(--tm-line-2);box-shadow:0 18px 40px rgba(20,25,40,.18);display:grid;gap:2px}
.tm-pop a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;font-weight:600;font-size:15px}
.tm-pop a:hover,.tm-pop a[aria-current="page"]{background:var(--tm-band);color:var(--tm-rosa)}
.tm-menu{display:none;position:relative}
.tm-menu>summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--tm-line-2)}
.tm-menu>summary::-webkit-details-marker{display:none}
.tm-menu>summary span,.tm-menu>summary span::before,.tm-menu>summary span::after{display:block;width:18px;height:2px;background:var(--tm-ink);border-radius:2px;position:relative}
.tm-menu>summary span::before,.tm-menu>summary span::after{content:"";position:absolute;left:0}
.tm-menu>summary span::before{top:-6px}.tm-menu>summary span::after{top:6px}
.tm-menu[open]>summary span{background:transparent}
.tm-menu[open]>summary span::before{top:0;transform:rotate(45deg)}
.tm-menu[open]>summary span::after{top:0;transform:rotate(-45deg)}
.tm-menu .tm-pop{left:auto;right:0;top:54px;width:min(300px,calc(100vw - 32px))}
@media (max-width:860px){.tm-nav>a:not(.tm-cta),.tm-nav .tm-sub{display:none}.tm-menu{display:block}}
.tm-nav>a.tm-cta{white-space:nowrap}
.tm-brand b{overflow:hidden;text-overflow:ellipsis}
@media (max-width:440px){.tm-brand svg{display:none}.tm-brand b{font-size:19px}.tm-nav>a.tm-cta{padding:8px 12px;font-size:14px}.tm-head .tm-in{gap:8px}}

/* canvas for pages carrying their own design */
.tm-canvas{display:block;min-height:50vh}
.tm-canvas h1,.tm-canvas h2,.tm-canvas h3{font-family:var(--tm-display);font-weight:400;letter-spacing:0}
.tm-canvas h4{font-family:var(--tm-body)}
.tm-canvas .mx-hero{position:relative;border-radius:0!important;padding:72px 24px 64px!important;background:linear-gradient(160deg,#1F4FA3 0%,#16336B 100%)!important;overflow:hidden}
.tm-canvas .mx-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:repeating-linear-gradient(90deg,#D6336C 0 60px,#F29F1C 60px 120px,#2E8B57 120px 180px,#F6EFE3 180px 240px);-webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 0/30px 14px;mask:radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 0/30px 14px}
.tm-canvas .mx-hero h1{font-size:clamp(38px,6vw,64px)!important;line-height:1.05}
.tm-canvas .mx-wrap{max-width:1080px}
.tm-canvas .mx-section h2{font-size:clamp(28px,3.6vw,40px)!important;line-height:1.15}
.tm-canvas .mx-btn{border-radius:999px!important}
.tm-canvas .mx-back{color:var(--tm-rosa)!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tm-canvas{--mx-sand:#1B2336}
  :root:not([data-theme="light"]) .tm-canvas :is(.mx-section h2,.mx-card h3,.mx-partner h4,.mx-partner h4 a,.mx-two h3,.mx-steps strong,.mx-facts dt,.mx-pill,.mx-stat-num){color:var(--tm-ink)!important}
  :root:not([data-theme="light"]) .tm-canvas :is(.mx-section p,.mx-facts dd,.mx-card p,.mx-quote,.mx-steps li,.mx-stat-label,.mx-partner p,.mx-lead){color:var(--tm-ink-2)!important}
  :root:not([data-theme="light"]) .tm-canvas :is(.mx-partner,.mx-pill){background:var(--tm-surface)!important;border-color:var(--tm-line-2)!important}
  :root:not([data-theme="light"]) .tm-canvas .mx-card a{color:var(--tm-cobalt)!important}}

/* plain pages, posts, archives */
.tm-band{padding:clamp(40px,7vw,80px) 0 clamp(28px,4vw,40px);border-bottom:1px solid var(--tm-line);background:var(--tm-band)}
.tm-band .kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tm-rosa);margin:0 0 10px}
.tm-band h1{font-family:var(--tm-display);font-weight:400;font-size:clamp(36px,6vw,64px);line-height:1.05;margin:0;text-wrap:balance}
.tm-band .meta{color:var(--tm-muted);margin:12px 0 0;font-size:15px}
.tm-prose{max-width:760px;margin:0 auto;padding:40px 20px 72px}
.tm-prose>*{margin-block:0 1.1em}
.tm-prose h2,.tm-prose h3{font-family:var(--tm-display);font-weight:400;line-height:1.15;margin-top:1.6em}
.tm-prose h2{font-size:clamp(28px,3.4vw,38px)}.tm-prose h3{font-size:24px}
.tm-prose a{color:var(--tm-cobalt);text-underline-offset:3px}
.tm-prose blockquote{margin-inline:0;padding:4px 0 4px 20px;border-left:4px solid var(--tm-rosa);color:var(--tm-ink-2);font-size:1.1em}
.tm-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.tm-prose th,.tm-prose td{padding:10px;border-bottom:1px solid var(--tm-line);text-align:left}
.tm-prose pre{overflow-x:auto;padding:16px;border-radius:12px;background:var(--tm-surface)}
.tm-prose img,.wp-block-image img{border-radius:14px;height:auto}
.tm-prose figcaption,.wp-element-caption{font-size:14px;color:var(--tm-muted);margin-top:8px}
.alignwide{width:min(1100px,calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%)}
.alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.alignleft{float:left;margin:0 1.2em 1em 0}.alignright{float:right;margin:0 0 1em 1.2em}.aligncenter{margin-inline:auto}
.wp-block-columns{display:flex;gap:24px;flex-wrap:wrap}
.wp-block-column{flex:1 1 240px;min-width:0}
.wp-block-buttons{display:flex;gap:10px;flex-wrap:wrap}
.wp-block-button__link,.tm-btn{display:inline-flex;align-items:center;min-height:44px;padding:10px 22px;border-radius:999px;background:var(--tm-rosa);color:#fff!important;text-decoration:none;font-weight:700}
.wp-block-button__link:hover,.tm-btn:hover{background:var(--tm-cobalt)}
.is-style-outline .wp-block-button__link{background:transparent;border:2px solid var(--tm-rosa);color:var(--tm-rosa)!important}
.wp-block-separator{border:0;border-top:1px solid var(--tm-line);margin-block:2em}
.wp-block-quote{border-left:4px solid var(--tm-rosa);padding-left:20px}
.wp-block-embed iframe,.wp-block-video video{max-width:100%}
.tm-list{max-width:900px;margin:0 auto;padding:36px 20px 72px;display:grid;gap:14px}
.tm-card{padding:22px;border-radius:16px;background:var(--tm-surface);border:1px solid var(--tm-line)}
.tm-card h2{font-family:var(--tm-display);font-weight:400;font-size:26px;margin:0 0 6px}
.tm-card h2 a{text-decoration:none}.tm-card h2 a:hover{color:var(--tm-rosa)}
.tm-card p{color:var(--tm-ink-2);margin:0}
.tm-pager{display:flex;justify-content:space-between;gap:12px}
.tm-pager a{color:var(--tm-cobalt)}
.tm-search{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.tm-search input{flex:1 1 220px;min-width:0;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--tm-line-2);background:var(--tm-surface);color:var(--tm-ink);font:inherit}
.tm-search button{min-height:44px;padding:8px 18px;border-radius:999px;border:0;background:var(--tm-rosa);color:#fff;font:inherit;font-weight:700;cursor:pointer}

/* footer */
.tm-foot{background:#16336B;color:#DCE3F2;padding:0 0 28px!important;font-size:15px}
.tm-foot .tm-flags{height:16px}
.tm-foot .cols{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px;padding-top:48px}
.tm-foot h2{font-family:var(--tm-body);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#F6B44A;margin:0 0 12px}
.tm-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tm-foot a{color:#fff;text-decoration:none}
.tm-foot a:hover{text-decoration:underline;color:#FFD08A}
.tm-foot .about b{display:block;font-family:var(--tm-display);font-weight:400;font-size:28px;color:#fff;margin:0 0 8px}
.tm-foot .about p{margin:0 0 8px;max-width:42ch}
.tm-foot .mail{font-weight:700;overflow-wrap:anywhere}
.tm-foot .base{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;color:#B9C4DD}
@media (max-width:860px){.tm-foot .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tm-foot .about{grid-column:1/-1}}
@media (max-width:480px){.tm-foot .cols{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.tm-canvas .mx-btn{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tm-canvas{--mx-green-dark:var(--tm-ink);--mx-green:var(--tm-cobalt)}:root:not([data-theme="light"]) .tm-canvas .mx-cta{background:#16336B!important}}
