/*
Theme Name: The Medallion Mafia
Theme URI: https://medallionmafia.com
Author: The Medallion Mafia
Description: A custom editorial WordPress theme for Delta loyalty guides and travel intelligence.
Version: 1.8.0
Text Domain: medallion-mafia
*/

:root {
  --mm-navy:#071d49;
  --mm-navy-2:#0b2f66;
  --mm-blue:#16498c;
  --mm-red:#d71920;
  --mm-red-dark:#b90f18;
  --mm-white:#fff;
  --mm-ice:#f3f7fb;
  --mm-cream:#fbf7f3;
  --mm-text:#101828;
  --mm-muted:#667085;
  --mm-border:#dfe7f0;
  --mm-shadow:0 18px 50px rgba(7,29,73,.14);
  --mm-radius:18px;
  --mm-max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--mm-text);background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.mm-container{width:min(var(--mm-max),calc(100% - 48px));margin-inline:auto}
.mm-site-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid rgba(7,29,73,.08)}
.mm-header-inner{min-height:128px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.mm-logo{display:block;width:auto;height:120px}
.mm-nav{display:flex;align-items:center;gap:30px;color:var(--mm-navy);font-size:18px;font-weight:750}
.mm-nav a:hover,.mm-nav .current-menu-item>a{color:var(--mm-red)}
.mm-menu-toggle{display:none;border:0;background:none;color:var(--mm-navy);font:inherit;font-weight:800;cursor:pointer}

.mm-hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;color:#fff;background-image:url('assets/images/hero.png');background-size:cover;background-position:center}
.mm-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,18,49,.9) 0%,rgba(7,29,73,.68) 40%,rgba(7,29,73,.16) 76%,rgba(7,29,73,.06) 100%)}
.mm-hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,rgba(7,29,73,.45))}
.mm-hero-content{position:relative;z-index:2;width:min(760px,calc(100% - 48px));margin-left:max(24px,calc((100vw - var(--mm-max))/2));padding:82px 0 155px}
.mm-eyebrow,.mm-kicker{margin:0 0 14px;color:var(--mm-red);font-size:12px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.mm-eyebrow{color:#fff}.mm-eyebrow:before{content:"";display:inline-block;width:34px;height:3px;margin:0 10px 3px 0;background:var(--mm-red)}
.mm-hero h1{margin:0;max-width:780px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(56px,7.4vw,102px);line-height:.93;letter-spacing:-.055em;text-shadow:0 8px 30px rgba(0,0,0,.22)}
.mm-hero-copy{max-width:650px;margin:26px 0 0;font-size:clamp(17px,1.5vw,21px);color:rgba(255,255,255,.9)}
.mm-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.mm-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border-radius:999px;font-weight:800;font-size:14px;transition:.2s}
.mm-button:hover{transform:translateY(-2px)}.mm-button-primary{background:var(--mm-red);color:#fff;box-shadow:0 10px 28px rgba(215,25,32,.28)}.mm-button-primary:hover{background:var(--mm-red-dark)}
.mm-button-secondary{color:#fff;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.mm-hero-statbar{position:absolute;z-index:3;left:50%;bottom:0;transform:translateX(-50%);width:min(var(--mm-max),calc(100% - 48px));display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.28);background:rgba(7,29,73,.73);backdrop-filter:blur(14px)}
.mm-hero-statbar div{padding:21px 28px;border-right:1px solid rgba(255,255,255,.15)}.mm-hero-statbar div:last-child{border-right:0}.mm-hero-statbar strong,.mm-hero-statbar span{display:block}.mm-hero-statbar span{margin-top:2px;color:rgba(255,255,255,.7);font-size:12px}

.mm-section{width:min(var(--mm-max),calc(100% - 48px));margin:0 auto;padding:96px 0}.mm-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.mm-section h2,.mm-page-title{margin:0;color:var(--mm-navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,4.3vw,64px);line-height:1.03;letter-spacing:-.04em}.mm-lead{margin:0;color:#344054;font-size:20px;line-height:1.7}.mm-heading-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:36px}.mm-text-link{color:var(--mm-navy);font-weight:800;font-size:14px}.mm-text-link:hover{color:var(--mm-red)}
.mm-cards-section{padding-top:35px}.mm-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.mm-card{display:flex;min-width:0;height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--mm-border);border-radius:var(--mm-radius);background:#fff;box-shadow:0 5px 20px rgba(7,29,73,.05);transition:.25s}.mm-card:hover{transform:translateY(-6px);box-shadow:var(--mm-shadow)}.mm-card-image{display:block;height:auto;aspect-ratio:16/9;background:#dce6f0;overflow:hidden}.mm-card-featured .mm-card-image{height:auto}.mm-card-image img{width:100%;height:100%;object-fit:cover;display:block}.mm-card-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#cdd9e8,#f2f6fa)}.mm-card-body{display:flex;flex:1;flex-direction:column;padding:26px}.mm-tag{display:inline-block;margin-bottom:12px;color:var(--mm-red);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.mm-card h3{margin:0;color:var(--mm-navy);font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.2;letter-spacing:-.025em}.mm-card h3 a:hover{color:var(--mm-red)}.mm-card p{color:var(--mm-muted);font-size:14px;line-height:1.65}.mm-card-link{margin-top:auto;padding-top:16px;color:var(--mm-navy);font-size:13px;font-weight:800}
.mm-post-list{border-top:1px solid var(--mm-border)}.mm-post-list article{display:grid;grid-template-columns:150px 1fr 90px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--mm-border)}.mm-post-list span{color:var(--mm-red);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.mm-post-list h3{margin:0;color:var(--mm-navy);font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.25}.mm-post-list h3 a:hover{color:var(--mm-red)}.mm-post-list p{color:var(--mm-muted);font-size:12px;text-align:right}

.mm-page-hero{padding:88px 0 52px;background:linear-gradient(180deg,#f5f8fc 0,#fff 100%)}.mm-page-hero p{max-width:680px;margin:20px 0 0;color:#475467;font-size:20px;line-height:1.7}.mm-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.mm-filter-row a{padding:10px 16px;border:1px solid var(--mm-border);border-radius:999px;color:var(--mm-navy);font-size:13px;font-weight:800}.mm-filter-row a:hover{border-color:var(--mm-red);color:var(--mm-red)}
.mm-posts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:stretch}.mm-post-card{display:flex;min-width:0;height:100%;flex-direction:column}.mm-post-card .mm-card-image{height:auto;aspect-ratio:16/9}.mm-post-card .mm-card-body{display:flex;flex:1;flex-direction:column}.mm-post-card h3{font-size:clamp(24px,2.2vw,32px)}.mm-post-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.mm-post-card .mm-card-link{margin-top:auto;padding-top:16px}.mm-pagination{display:flex;justify-content:center;gap:8px;margin-top:52px}.mm-pagination .page-numbers{min-width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--mm-border);border-radius:50%;font-weight:800}.mm-pagination .current{color:#fff;background:var(--mm-navy);border-color:var(--mm-navy)}

.mm-about{padding:96px 0 120px}.mm-about-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.65fr);gap:90px;align-items:start}.mm-about-copy{font-family:Georgia,"Times New Roman",serif;color:var(--mm-navy);font-size:clamp(30px,3.2vw,48px);line-height:1.18;letter-spacing:-.035em}.mm-about-body{font-size:18px;line-height:1.8;color:#344054}.mm-about-note{margin-top:40px;padding:26px;border-left:4px solid var(--mm-red);background:var(--mm-ice);color:#475467}.mm-about-side{padding:34px;border-radius:18px;background:var(--mm-navy);color:#fff}.mm-about-side h2{color:#fff;font-size:32px}.mm-about-side p{color:rgba(255,255,255,.76);line-height:1.7}.mm-about-side a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:4px}

.mm-single-hero{position:relative;min-height:590px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--mm-navy)}.mm-single-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mm-single-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,16,31,.94),rgba(4,16,31,.55) 55%,rgba(4,16,31,.18))}.mm-single-inner{position:relative;z-index:2;width:min(var(--mm-max),calc(100% - 48px));margin:0 auto;padding:82px 0 72px}.mm-single-title{max-width:980px;margin:12px 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,5.5vw,72px);line-height:1;letter-spacing:-.04em}.mm-single-meta{color:rgba(255,255,255,.72);font-size:14px;letter-spacing:.01em}.mm-article{width:min(900px,calc(100% - 48px));margin:0 auto;padding:72px 0;font-size:20px;line-height:1.8}.mm-article h2{margin:2em 0 .55em;color:var(--mm-navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,48px);line-height:1.08}.mm-article h3{margin:1.7em 0 .5em;color:var(--mm-navy);font-size:30px}.mm-article a{color:var(--mm-blue);text-decoration:underline}.mm-article img{border-radius:16px}.mm-article blockquote{margin:2em 0;padding:24px 30px;border-left:4px solid var(--mm-red);background:var(--mm-ice)}
.mm-footer{padding:36px 24px;color:#fff;background:#03102b;text-align:center;font-size:14px;font-weight:750;letter-spacing:.04em}

@media(max-width:900px){.mm-header-inner{min-height:92px}.mm-logo{height:84px}.mm-menu-toggle{display:block}.mm-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 24px;flex-direction:column;align-items:flex-start;background:#fff;border-bottom:1px solid var(--mm-border)}.mm-nav.is-open{display:flex}.mm-hero{min-height:660px;background-position:62% center}.mm-intro,.mm-about-grid{grid-template-columns:1fr;gap:36px}.mm-card-grid{grid-template-columns:1fr 1fr}.mm-posts-grid{grid-template-columns:1fr}.mm-card-featured{grid-column:auto}}
@media(max-width:640px){.mm-container,.mm-section{width:calc(100% - 36px)}.mm-header-inner{min-height:82px}.mm-logo{height:74px}.mm-hero{min-height:720px;background-position:66% center}.mm-hero-content{width:calc(100% - 36px);margin-left:18px;padding-bottom:235px}.mm-hero h1{font-size:54px}.mm-hero-actions{flex-direction:column;align-items:stretch}.mm-hero-statbar{width:calc(100% - 36px);grid-template-columns:1fr}.mm-hero-statbar div{padding:12px 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.mm-section{padding:70px 0}.mm-card-grid,.mm-posts-grid{grid-template-columns:1fr}.mm-card-featured{grid-column:auto}.mm-heading-row{display:block}.mm-heading-row .mm-text-link{display:inline-block;margin-top:16px}.mm-post-list article{grid-template-columns:1fr;gap:8px}.mm-post-list p{text-align:left;margin:0}.mm-page-hero{padding:64px 0 36px}.mm-about{padding:64px 0 80px}.mm-single-inner{width:calc(100% - 36px);padding:58px 0 48px}.mm-single-title{font-size:42px;line-height:1.02}.mm-article{width:calc(100% - 36px);font-size:18px}}

/* v1.1: simplified proof-of-concept pages */
.mm-about-simple{max-width:820px;padding:88px 0 110px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(24px,3vw,34px);line-height:1.5;color:var(--mm-navy)}
.mm-about-simple p{margin:0 0 1.15em}

/* v1.6: SkyMiles calculator and homepage tools feature */
.mm-tools-section{padding-top:20px}
.mm-tools-card{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:48px;border-radius:24px;background:linear-gradient(135deg,var(--mm-navy),var(--mm-navy-2));color:#fff;box-shadow:var(--mm-shadow)}
.mm-tools-card h2{max-width:720px;color:#fff;font-size:clamp(36px,4vw,58px)}
.mm-tools-card p:not(.mm-kicker){max-width:720px;margin:18px 0 0;color:rgba(255,255,255,.78);font-size:17px;line-height:1.7}
.mm-tools-card .mm-button{flex:0 0 auto;white-space:nowrap}
.mm-calc-page{background:#fff}
.mm-calc-hero{padding:86px 0 72px;background:linear-gradient(135deg,var(--mm-navy),var(--mm-navy-2));color:#fff}
.mm-calc-hero h1{max-width:900px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.05em}
.mm-calc-hero p:last-child{max-width:760px;margin:22px 0 0;color:rgba(255,255,255,.8);font-size:20px;line-height:1.7}
.mm-calc-shell{margin-top:-30px;position:relative;z-index:3}
.mm-calc-tabs{display:flex;gap:8px;padding:7px;border:1px solid var(--mm-border);border-radius:16px 16px 0 0;background:#eaf0f7}
.mm-calc-tab{flex:1;min-height:50px;border:0;border-radius:11px;background:transparent;color:var(--mm-navy);font:inherit;font-size:15px;font-weight:850;cursor:pointer}
.mm-calc-tab.is-active{background:#fff;box-shadow:0 4px 14px rgba(7,29,73,.1)}
.mm-calc-panel{padding:34px;border:1px solid var(--mm-border);border-top:0;border-radius:0 0 20px 20px;background:#fff;box-shadow:var(--mm-shadow)}
.mm-calc-panel[hidden]{display:none}
.mm-calc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:30px}
.mm-calc-field{margin-bottom:20px}
.mm-calc-field label{display:block;margin-bottom:7px;color:var(--mm-navy);font-size:14px;font-weight:850}
.mm-calc-field input{width:100%;min-height:52px;padding:12px 14px;border:1px solid #bdc9d9;border-radius:11px;background:#fff;color:var(--mm-text);font:inherit;font-size:17px}
.mm-calc-field input:focus{outline:3px solid rgba(22,73,140,.14);border-color:var(--mm-blue)}
.mm-calc-field small,.mm-calc-check small{display:block;margin-top:7px;color:var(--mm-muted);font-size:12px;line-height:1.45}
.mm-calc-input-wrap{position:relative}.mm-calc-prefix,.mm-calc-suffix{position:absolute;top:50%;transform:translateY(-50%);color:var(--mm-muted);font-weight:750;pointer-events:none}.mm-calc-prefix{left:14px}.mm-calc-suffix{right:14px}.mm-has-prefix{padding-left:30px!important}.mm-has-suffix{padding-right:66px!important}
.mm-calc-check{display:flex;align-items:flex-start;gap:11px;padding:14px;border-radius:12px;background:var(--mm-ice);color:var(--mm-navy);cursor:pointer}.mm-calc-check input{width:20px;height:20px;margin-top:2px}.mm-calc-check small{margin-top:3px}
.mm-calc-result{display:flex;min-height:100%;flex-direction:column;justify-content:center;padding:30px;border:1px solid var(--mm-border);border-radius:16px;background:var(--mm-ice)}
.mm-calc-result>span{color:var(--mm-muted);font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.mm-calc-result>strong{margin-top:5px;color:var(--mm-navy);font-size:clamp(44px,6vw,64px);line-height:1;letter-spacing:-.05em}.mm-calc-result>p{margin:9px 0 0;color:#344054;font-weight:750}.mm-calc-result ul{margin:20px 0 0;padding:0;border-top:1px solid var(--mm-border);list-style:none}.mm-calc-result li{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--mm-border);font-size:14px}.mm-calc-result li b{color:var(--mm-navy);white-space:nowrap}
.mm-calc-verdict{display:inline-flex;width:max-content;margin-top:14px;padding:6px 10px;border-radius:999px;background:#e5f4ec;color:#147044;font-size:13px;font-style:normal;font-weight:850}.mm-calc-verdict.is-fair{background:#fff1d6;color:#955a00}.mm-calc-verdict.is-low{background:#fde6e6;color:#9d2525}
.mm-calc-formula{margin:24px 0 0;padding:14px 16px;border-left:4px solid var(--mm-red);background:#fff5f5;color:#593038;font-size:14px}
.mm-calc-content{max-width:900px;padding:72px 0 110px;font-size:18px;line-height:1.8}.mm-calc-content h2{margin:1.7em 0 .5em;color:var(--mm-navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,48px);line-height:1.08}.mm-calc-table-wrap{margin:30px 0;overflow-x:auto;border:1px solid var(--mm-border);border-radius:14px}.mm-calc-content table{width:100%;min-width:560px;border-collapse:collapse}.mm-calc-content th,.mm-calc-content td{padding:13px 15px;border-bottom:1px solid var(--mm-border);text-align:left}.mm-calc-content th{background:var(--mm-ice);color:var(--mm-navy);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.mm-calc-content tr:last-child td{border-bottom:0}.mm-calc-content details{margin-bottom:10px;border:1px solid var(--mm-border);border-radius:12px}.mm-calc-content summary{padding:15px 18px;color:var(--mm-navy);font-weight:850;cursor:pointer}.mm-calc-content details p{margin:0;padding:0 18px 17px;color:var(--mm-muted)}.mm-calc-disclosure{margin-top:40px;padding-top:20px;border-top:1px solid var(--mm-border);color:var(--mm-muted);font-size:12px}
@media(max-width:900px){.mm-tools-card{align-items:flex-start;flex-direction:column}.mm-calc-grid{grid-template-columns:1fr}}
@media(max-width:640px){.mm-tools-card{padding:30px}.mm-calc-hero{padding:64px 0 58px}.mm-calc-tabs{flex-direction:column}.mm-calc-panel{padding:20px}.mm-calc-content{width:calc(100% - 36px);padding-top:55px}.mm-calc-result{padding:22px}}

/* v1.7: Contact page */
.mm-contact-page{background:#fff}
.mm-contact-hero{padding:86px 0 78px;background:linear-gradient(135deg,var(--mm-navy),var(--mm-navy-2));color:#fff}
.mm-contact-hero h1{max-width:920px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,80px);line-height:1;letter-spacing:-.05em}
.mm-contact-hero p:last-child{max-width:760px;margin:22px 0 0;color:rgba(255,255,255,.8);font-size:20px;line-height:1.7}
.mm-contact-shell{padding:84px 0 110px}
.mm-contact-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(420px,1fr);gap:82px;align-items:start}
.mm-contact-copy h2{margin:8px 0 20px;color:var(--mm-navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-.035em}
.mm-contact-copy>p:not(.mm-kicker){color:#475467;font-size:18px;line-height:1.75}
.mm-contact-note{margin-top:28px;padding:20px 22px;border-left:4px solid var(--mm-red);background:var(--mm-ice);font-size:15px!important}
.mm-contact-card{padding:36px;border:1px solid var(--mm-border);border-radius:22px;background:#fff;box-shadow:var(--mm-shadow)}
.mm-contact-field{margin-bottom:20px}
.mm-contact-field label{display:block;margin-bottom:8px;color:var(--mm-navy);font-size:14px;font-weight:850}
.mm-contact-field input,.mm-contact-field textarea{width:100%;padding:13px 14px;border:1px solid #bdc9d9;border-radius:11px;background:#fff;color:var(--mm-text);font:inherit;font-size:16px;line-height:1.5}
.mm-contact-field input{min-height:52px}
.mm-contact-field textarea{min-height:190px;resize:vertical}
.mm-contact-field input:focus,.mm-contact-field textarea:focus{outline:3px solid rgba(22,73,140,.14);border-color:var(--mm-blue)}
.mm-contact-submit{width:100%;border:0;cursor:pointer}
.mm-contact-privacy{margin:14px 0 0;color:var(--mm-muted);font-size:12px;line-height:1.5;text-align:center}
.mm-contact-alert{margin-bottom:22px;padding:14px 16px;border-radius:11px;font-size:14px;font-weight:750}
.mm-contact-alert.is-success{background:#e7f5ed;color:#176b45;border:1px solid #b9e1ca}
.mm-contact-alert.is-error{background:#fdeaea;color:#922b2b;border:1px solid #f2c0c0}
.mm-contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.mm-contact-grid{grid-template-columns:1fr;gap:46px}.mm-contact-shell{padding-top:64px}}
@media(max-width:640px){.mm-contact-hero{padding:62px 0 56px}.mm-contact-shell{width:calc(100% - 36px);padding:52px 0 80px}.mm-contact-card{padding:22px}.mm-contact-hero p:last-child{font-size:18px}}
