/*
Theme Name: Jordan Med Academy
Description: A code-first landing page for a Jordanian medical-student education platform.
Version: 0.2.0
Author: elmasoudinc
Text Domain: jordan-med-academy
*/
:root { --navy:#102a43; --blue:#176b87; --teal:#20a39e; --mint:#e9f8f5; --sand:#f8f5ef; --ink:#183044; --muted:#60758a; --white:#fff; --line:#dce7ec; --shadow:0 18px 50px rgba(16,42,67,.09); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif; line-height:1.65; }
a { color:inherit; }
img { max-width:100%; height:auto; }
.container { width:min(1120px,calc(100% - 40px)); margin-inline:auto; }
.section { padding:88px 0; }
.section--soft { background:var(--sand); }
.section-heading { max-width:680px; margin:0 auto 42px; text-align:center; }
.eyebrow { margin:0 0 10px; color:var(--teal); font-size:.8rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3 { margin-top:0; color:var(--navy); line-height:1.16; }
h1 { max-width:780px; margin-bottom:22px; font-size:clamp(2.5rem,6vw,5rem); letter-spacing:-.05em; }
h2 { margin-bottom:14px; font-size:clamp(2rem,4vw,3.1rem); letter-spacing:-.035em; }
h3 { margin-bottom:10px; font-size:1.2rem; }
p { margin-top:0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 24px; border:1px solid var(--blue); border-radius:999px; background:var(--blue); color:var(--white); font-weight:750; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(23,107,135,.22); }
.button--ghost { margin-inline-start:10px; background:transparent; color:var(--blue); }
.site-header { position:sticky; z-index:20; top:0; border-bottom:1px solid rgba(220,231,236,.8); background:rgba(255,255,255,.94); backdrop-filter:blur(12px); }
.site-header__inner { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.site-brand { color:var(--navy); font-size:1.15rem; font-weight:900; text-decoration:none; }
.site-nav { display:flex; align-items:center; gap:25px; }
.site-nav a { color:var(--ink); font-size:.94rem; font-weight:650; text-decoration:none; }
.site-nav .button { color:var(--white); }
.hero { overflow:hidden; padding:112px 0 96px; background:radial-gradient(circle at 85% 20%,#c9f0e8 0,transparent 28%),linear-gradient(135deg,#f6fbfc 0%,#fff 54%,#f8f5ef 100%); }
.hero__grid { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:65px; }
.hero__lead { max-width:680px; margin-bottom:30px; color:var(--muted); font-size:1.16rem; }
.hero__card { position:relative; padding:32px; border:1px solid rgba(255,255,255,.8); border-radius:28px; background:rgba(255,255,255,.78); box-shadow:var(--shadow); }
.hero__card::before { content:""; position:absolute; inset:-16px 20px auto -16px; z-index:-1; height:80%; border-radius:28px; background:var(--teal); opacity:.12; }
.metric { display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.metric:last-child { border:0; }
.metric__number { min-width:54px; color:var(--blue); font-size:1.8rem; font-weight:900; }
.metric p { margin:0; color:var(--muted); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card { padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--white); box-shadow:0 8px 26px rgba(16,42,67,.045); }
.card__icon { width:46px; height:46px; margin-bottom:20px; display:grid; place-items:center; border-radius:14px; background:var(--mint); color:var(--teal); font-weight:900; }
.card p { margin-bottom:0; color:var(--muted); }
.content-block { max-width:820px; margin-inline:auto; }
.content-block:empty { display:none; }
.cta { padding:70px 0; background:var(--navy); color:var(--white); text-align:center; }
.cta h2 { color:var(--white); }
.cta p { max-width:640px; margin:0 auto 28px; color:#c9d8e4; }
.cta .button { border-color:var(--teal); background:var(--teal); }
.site-footer { padding:30px 0; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.site-footer__inner { display:flex; justify-content:space-between; gap:20px; }
.site-footer__legal { display:flex; flex-wrap:wrap; gap:18px; }
.site-footer__legal a { color:var(--blue); font-weight:700; text-decoration:none; }
.site-footer__legal a:hover { color:var(--navy); text-decoration:underline; }

/* ==================== LEGAL PAGES ==================== */
.jma-legal-page main.section { padding:78px 0 96px; background:linear-gradient(180deg,#f5fafb 0,#fff 280px); }
.jma-legal-page .content-block { max-width:900px; padding:clamp(26px,5vw,58px); border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow); }
.jma-legal-page .content-block h1 { max-width:none; margin-bottom:28px; font-size:clamp(2.25rem,5vw,4rem); }
.jma-legal-page .content-block h2 { margin:42px 0 14px; padding-top:6px; font-size:1.45rem; letter-spacing:-.02em; }
.jma-legal-page .content-block p,.jma-legal-page .content-block li { color:#40586b; }
.jma-legal-page .content-block ul { padding-left:22px; }
.jma-legal-page .content-block li { margin-bottom:9px; }
.jma-legal-page .content-block a { color:var(--blue); font-weight:650; }
.jma-legal-page .legal-intro { padding:20px 22px; border-left:4px solid var(--teal); border-radius:0 12px 12px 0; background:var(--mint); color:var(--ink); font-size:1.06rem; }
.jma-legal-page .legal-updated { margin-top:48px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }

/* ==================== 2026 MONOCHROME BRAND SYSTEM ==================== */
:root { --brand-black:#0b0c0d; --brand-cream:#f3f0e9; --brand-lime:#d9f75d; --brand-grey:#72777b; }
.site-header { border-bottom:1px solid #deddd8; background:rgba(255,255,252,.94); }
.site-header__inner { min-height:82px; }
.site-brand { display:flex; align-items:center; gap:11px; color:var(--brand-black); text-decoration:none; }
.site-brand img { width:38px; height:38px; object-fit:contain; }
.site-brand span,.site-brand strong,.site-brand small { display:block; }
.site-brand strong { font-size:14px; font-weight:900; line-height:1.05; letter-spacing:-.02em; }
.site-brand small { margin-top:3px; color:#74787b; font-size:9px; font-weight:800; letter-spacing:.16em; line-height:1; text-transform:uppercase; }
.site-nav { gap:29px; }
.site-nav a { color:#303336; font-size:.86rem; font-weight:720; }
.site-nav .site-nav__cta { min-height:44px; padding:0 18px; border-color:var(--brand-black); background:var(--brand-black); color:#fff; }
.site-nav__cta span { margin-left:7px; }

.home-v2 { background:#fff; color:var(--brand-black); }
.home-v2 h1,.home-v2 h2,.home-v2 h3 { color:var(--brand-black); }
.hero-v2 { padding:92px 0 84px; background:var(--brand-cream); }
.hero-v2__grid { min-height:590px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); align-items:center; gap:70px; }
.hero-v2__content { position:relative; z-index:2; }
.hero-v2__brand-mark { display:flex; align-items:center; gap:12px; margin-bottom:54px; color:#6b6e70; font-size:10px; font-weight:800; letter-spacing:.11em; line-height:1.45; text-transform:uppercase; }
.hero-v2__brand-mark img { width:42px; height:42px; }
.hero-v2 .eyebrow,.home-v2 .eyebrow { color:#52575a; }
.hero-v2 h1 { max-width:700px; margin:12px 0 24px; font-size:clamp(3.35rem,6.5vw,6.6rem); line-height:.93; letter-spacing:-.072em; }
.hero-v2 .hero__lead { max-width:625px; color:#555b5e; font-size:1.08rem; line-height:1.75; }
.hero-v2 .hero__actions { display:flex; align-items:center; gap:10px; margin-top:34px; }
.button--dark { border-color:var(--brand-black); background:var(--brand-black); color:#fff; }
.button--dark:hover { background:#292c2e; box-shadow:0 12px 30px rgba(0,0,0,.16); }
.button--text { border-color:transparent; background:transparent; color:var(--brand-black); }
.button--text:hover { box-shadow:none; }
.hero-v2__trust { display:flex; flex-wrap:wrap; gap:9px 22px; margin-top:38px; color:#686d70; font-size:.75rem; font-weight:700; }
.hero-v2__trust span:before { content:"✓"; margin-right:7px; color:var(--brand-black); font-weight:950; }
.hero-v2__visual { position:relative; min-height:570px; border-radius:280px 280px 24px 24px; background:#d9f75d; overflow:visible; }
.hero-v2__visual:before { content:""; position:absolute; inset:45px; border:1px solid rgba(0,0,0,.17); border-radius:240px 240px 14px 14px; }
.hero-v2__orb { position:absolute; top:118px; left:50%; width:230px; height:230px; display:grid; place-items:center; border-radius:50%; background:#fff; box-shadow:0 30px 70px rgba(0,0,0,.12); transform:translateX(-50%); }
.hero-v2__orb img { width:126px; height:126px; }
.hero-v2__note { position:absolute; width:210px; padding:17px 18px; border:1px solid rgba(0,0,0,.1); border-radius:13px; background:rgba(255,255,255,.94); box-shadow:0 14px 35px rgba(0,0,0,.1); }
.hero-v2__note small,.hero-v2__note strong,.hero-v2__note span { display:block; }
.hero-v2__note small { margin-bottom:8px; color:#777b7e; font-size:9px; font-weight:900; letter-spacing:.12em; }
.hero-v2__note strong { color:#0b0c0d; font-size:.9rem; }
.hero-v2__note span { margin-top:4px; color:#6e7376; font-size:.72rem; }
.hero-v2__note--one { top:96px; left:-64px; z-index:2; }.hero-v2__note--two { top:292px; right:22px; }.hero-v2__note--three { bottom:34px; left:38px; }
.home-statement { padding:74px 0; border-top:1px solid #e6e4df; border-bottom:1px solid #e6e4df; }
.home-statement__grid { display:grid; grid-template-columns:220px 1fr; gap:50px; align-items:start; }
.home-statement h2 { max-width:900px; margin:0; font-size:clamp(2.1rem,4.2vw,4.4rem); line-height:1.03; letter-spacing:-.055em; }
.home-approach { padding:110px 0; }
.section-heading--left { max-width:760px; margin:0 0 48px; text-align:left; }
.approach-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }
.approach-card { min-height:250px; display:flex; flex-direction:column; justify-content:space-between; padding:30px; border:1px solid #dcdcd7; border-radius:20px; background:#f8f7f3; }
.approach-card--wide { grid-row:span 2; min-height:518px; background:var(--brand-lime); }
.approach-card--dark { background:var(--brand-black); color:#cfd1d0; }
.approach-card--dark h3 { color:#fff; }
.approach-card__number { color:#6c7072; font-size:.72rem; font-weight:850; letter-spacing:.12em; }
.approach-card h3 { margin-bottom:12px; font-size:clamp(1.5rem,2.7vw,2.7rem); letter-spacing:-.045em; }
.approach-card p { max-width:530px; margin:0; color:#585e61; }
.approach-card--dark p { color:#aeb4b5; }
.home-courses { padding:110px 0; background:var(--brand-cream); }
.home-section-bar { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:44px; }
.home-section-bar h2 { max-width:700px; margin:6px 0 0; }
.home-section-bar .text-link { white-space:nowrap; color:#111; }
.home-course-card { border-color:#d6d4cd; border-radius:16px; box-shadow:none; }
.home-course-card .course-card__media { background:#dedbd2; }
.home-course-card .course-card__placeholder { background:var(--brand-lime); }
.home-course-card .course-card__placeholder img { width:62px; height:62px; }
.home-course-card .course-card__body { padding:25px; }
.home-course-card .course-card__body .eyebrow { margin-bottom:13px; font-size:.68rem; }
.home-course-card h3 { font-size:1.35rem; }
.home-course-card h3 a { text-decoration:none; }
.home-course-card .text-link { display:inline-flex; margin-top:8px; color:#111; }
.home-courses__empty { padding:65px; border:1px solid #d5d2ca; border-radius:20px; background:#fff; text-align:center; }
.home-courses__empty img { margin:0 auto 20px; }
.home-cta { padding:32px 0; background:var(--brand-black); }
.home-cta__inner { min-height:290px; display:grid; grid-template-columns:100px 1fr auto; align-items:center; gap:40px; }
.home-cta__inner>img { width:80px; height:80px; }
.home-cta .eyebrow { color:var(--brand-lime); }
.home-cta h2 { max-width:730px; margin:8px 0 0; color:#fff; font-size:clamp(2rem,4vw,4rem); }
.button--light { border-color:#fff; background:#fff; color:#111; }
.button--light:hover { background:var(--brand-lime); color:#111; }

.site-footer { padding:0; border-top:0; background:#f4f2ec; color:#575c5f; }
.site-footer__main { min-height:260px; display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:60px; padding:65px 0; }
.site-footer__brand { display:flex; align-items:center; gap:17px; color:#111; text-decoration:none; }
.site-footer__brand img { width:54px; height:54px; }
.site-footer__brand strong,.site-footer__brand small { display:block; }
.site-footer__brand strong { font-size:1.1rem; }.site-footer__brand small { margin-top:5px; color:#767b7d; font-size:.78rem; }
.site-footer__nav { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.site-footer__nav div,.site-footer__nav strong,.site-footer__nav a { display:block; }
.site-footer__nav strong { margin-bottom:15px; color:#17191a; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; }
.site-footer__nav a { margin:9px 0; color:#656a6c; text-decoration:none; }
.site-footer__nav a:hover { color:#000; }
.site-footer__bottom { min-height:67px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #d9d7d1; font-size:.75rem; }

body:not(.home):not(.jma-lms-page):not(.commerce-page) main.section { min-height:65vh; padding:80px 0 100px; background:linear-gradient(180deg,var(--brand-cream),#fff 360px); }
body:not(.home):not(.jma-lms-page):not(.commerce-page) main.section>.container { padding:clamp(28px,5vw,58px); border:1px solid #dedcd5; border-radius:22px; background:#fff; box-shadow:0 18px 55px rgba(0,0,0,.06); }

@media (max-width:960px) {
    .hero-v2__grid { grid-template-columns:1fr; }.hero-v2__visual { min-height:520px; }.hero-v2 h1 { font-size:clamp(3.2rem,12vw,6rem); }
    .home-statement__grid { grid-template-columns:1fr; gap:15px; }.approach-grid { grid-template-columns:1fr 1fr; }.approach-card--wide { grid-column:1/-1; grid-row:auto; min-height:360px; }
    .home-cta__inner { grid-template-columns:80px 1fr; }.home-cta__inner .button { grid-column:2; justify-self:start; }
    .site-footer__main { grid-template-columns:1fr; }.site-footer__nav { max-width:600px; }
}
@media (max-width:620px) {
    .site-header__inner { min-height:70px; }.site-brand img { width:34px; height:34px; }.site-nav { gap:0; }.site-nav .site-nav__cta { min-height:40px; padding:0 14px; font-size:.76rem; }
    .hero-v2 { padding:58px 0; }.hero-v2__brand-mark { margin-bottom:38px; }.hero-v2 h1 { font-size:clamp(3rem,16vw,4.7rem); }.hero-v2 .hero__actions { align-items:stretch; flex-direction:column; }.hero-v2 .button { width:100%; }.hero-v2__visual { min-height:720px; border-radius:180px 180px 20px 20px; }.hero-v2__orb { top:190px; width:190px; height:190px; }.hero-v2__orb img { width:100px; height:100px; }.hero-v2__note { width:185px; }.hero-v2__note--one { top:48px; left:50%; transform:translateX(-50%); }.hero-v2__note--two { right:10px; top:410px; }.hero-v2__note--three { bottom:20px; left:20px; }
    .home-statement { padding:58px 0; }.home-approach,.home-courses { padding:75px 0; }.approach-grid { grid-template-columns:1fr; }.approach-card--wide { grid-column:auto; min-height:300px; }.home-section-bar { align-items:flex-start; flex-direction:column; }
    .home-cta { padding:55px 0; }.home-cta__inner { grid-template-columns:1fr; gap:25px; }.home-cta__inner .button { grid-column:auto; }.site-footer__nav { grid-template-columns:1fr 1fr; }.site-footer__bottom { align-items:flex-start; flex-direction:column; justify-content:center; }.site-footer__main { padding:48px 0; }
}

/* ==================== LMS PAGE FOUNDATIONS ==================== */
.page-hero { padding:105px 0 78px; background:radial-gradient(circle at 80% 25%,#c9f0e8 0,transparent 26%),linear-gradient(135deg,#f6fbfc,#fff 58%,#f8f5ef); }
.page-hero--compact h1 { max-width:850px; margin-bottom:16px; font-size:clamp(2.5rem,5vw,4.5rem); }
.page-hero__lead { max-width:700px; margin-bottom:0; color:var(--muted); font-size:1.15rem; }

/* ==================== COURSE SHOWCASE ==================== */
.course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.course-card { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--white); box-shadow:0 10px 34px rgba(16,42,67,.07); transition:transform .2s ease,box-shadow .2s ease; }
.course-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.course-card__media { aspect-ratio:16/10; display:block; overflow:hidden; background:var(--mint); text-decoration:none; }
.course-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.course-card:hover .course-card__media img { transform:scale(1.035); }
.course-card__placeholder { width:100%; height:100%; display:grid; place-items:center; color:var(--teal); font-size:2rem; font-weight:900; letter-spacing:.08em; }
.course-card__body { padding:24px; }
.course-card__meta,.course-card__footer,.course-hero__meta { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.course-card__meta { color:var(--muted); font-size:.82rem; }
.course-card h2 { margin:14px 0 10px; font-size:1.35rem; letter-spacing:-.02em; }
.course-card h2 a,.text-link { text-decoration:none; }
.course-card p { min-height:3.3em; color:var(--muted); }
.course-card__footer { padding-top:18px; border-top:1px solid var(--line); }
.course-card__price { color:var(--navy); font-weight:850; }
.text-link { color:var(--blue); font-weight:750; }
.jma-pagination { margin-top:45px; }
.jma-pagination .nav-links { display:flex; justify-content:center; gap:8px; }
.jma-pagination .page-numbers { min-width:42px; min-height:42px; display:grid; place-items:center; padding:0 12px; border:1px solid var(--line); border-radius:10px; text-decoration:none; }
.jma-pagination .current { border-color:var(--blue); background:var(--blue); color:var(--white); }
.empty-state { max-width:680px; margin:10px auto; padding:60px 40px; border:1px solid var(--line); border-radius:26px; background:var(--sand); text-align:center; }
.empty-state__mark { width:76px; height:76px; margin:0 auto 24px; display:grid; place-items:center; border-radius:22px; background:var(--mint); color:var(--teal); font-size:1.2rem; font-weight:900; }
.empty-state p { max-width:520px; margin:0 auto 28px; color:var(--muted); }

/* ==================== SINGLE COURSE ==================== */
.course-hero { padding:85px 0; background:var(--navy); color:var(--white); }
.course-hero__grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:65px; }
.course-hero h1 { margin:16px 0 24px; color:var(--white); font-size:clamp(2.35rem,5vw,4.4rem); }
.course-back { color:#c9d8e4; font-weight:700; text-decoration:none; }
.course-hero__meta { justify-content:flex-start; color:#c9d8e4; }
.course-hero__visual { overflow:hidden; min-height:290px; border-radius:24px; background:#173b59; box-shadow:0 24px 60px rgba(0,0,0,.22); }
.course-hero__visual img,.course-hero__visual video,.course-hero__visual iframe { width:100%; height:100%; min-height:290px; object-fit:cover; }
.course-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; align-items:start; gap:48px; }
.course-sidebar { position:sticky; top:100px; }
.course-sidebar .tutor-course-sidebar-card,.course-sidebar .tutor-course-sidebar-card-pricing { border-radius:18px; }
.course-sidebar__details { margin-top:22px; padding:24px; border:1px solid var(--line); border-radius:18px; background:var(--white); }
.course-content .tutor-course-details-tab { margin:0; }
.course-content .tutor-is-sticky { top:74px; }

/* ==================== TUTOR DIRECTORY / SYSTEM PAGES ==================== */
.tutor-directory .tutor-instructor-card { border-color:var(--line); border-radius:20px; box-shadow:0 8px 28px rgba(16,42,67,.055); }
.tutor-wrap,.tutor-page-wrap { --tutor-color-primary:var(--blue); --tutor-color-primary-hover:var(--navy); }
body:not(.home) > .tutor-wrap,body:not(.home) > .tutor-page-wrap { width:min(1120px,calc(100% - 40px)); margin:60px auto; }

@media (max-width:800px) { .hero { padding-top:75px; } .hero__grid,.cards { grid-template-columns:1fr; } .hero__grid { gap:42px; } .site-nav a:not(.button) { display:none; } }
@media (max-width:480px) { .container { width:min(100% - 28px,1120px); } .section { padding:65px 0; } .hero__actions { display:grid; gap:10px; } .button--ghost { margin-inline-start:0; } .site-footer__inner { display:block; } }

@media (max-width:960px) {
    .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .course-hero__grid,.course-layout { grid-template-columns:1fr; }
    .course-sidebar { position:static; }
}
@media (max-width:620px) {
    .course-grid { grid-template-columns:1fr; }
    .page-hero,.course-hero { padding:65px 0; }
    .course-card__meta,.course-card__footer,.course-hero__meta { align-items:flex-start; flex-direction:column; gap:7px; }
}

/* ==================== WOOCOMMERCE CART / CHECKOUT ==================== */
.commerce-hero { padding:82px 0 62px; background:linear-gradient(135deg,#f4fafb 0%,#fff 55%,#f8f5ef 100%); border-bottom:1px solid var(--line); }
.commerce-hero h1 { margin:12px 0 14px; font-size:clamp(2.4rem,5vw,4.2rem); }
.commerce-hero p:not(.eyebrow) { max-width:650px; margin-bottom:0; color:var(--muted); font-size:1.08rem; }
.commerce-back { color:var(--blue); font-size:.9rem; font-weight:750; text-decoration:none; }
.commerce-trust { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.commerce-trust span { padding:7px 12px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.75); color:var(--navy); font-size:.78rem; font-weight:750; }
.commerce-section { background:#f7fafb; }
.commerce-surface { padding:clamp(24px,4vw,48px); border:1px solid var(--line); border-radius:24px; background:var(--white); box-shadow:var(--shadow); }
.commerce-page .woocommerce { color:var(--ink); }
.commerce-page .woocommerce-notices-wrapper:empty { display:none; }
.commerce-page .woocommerce-error,.commerce-page .woocommerce-info,.commerce-page .woocommerce-message { padding:16px 20px 16px 48px; border:1px solid var(--line); border-top:0; border-radius:12px; background:var(--mint); color:var(--ink); }
.commerce-page table.shop_table { overflow:hidden; border:1px solid var(--line); border-radius:16px; border-collapse:separate; border-spacing:0; }
.commerce-page table.shop_table th { color:var(--navy); background:#f4f8fa; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; }
.commerce-page table.shop_table th,.commerce-page table.shop_table td { padding:18px; border-color:var(--line); }
.commerce-page .product-name a { color:var(--navy); font-weight:800; text-decoration:none; }
.commerce-page .product-thumbnail img { border-radius:10px; }
.commerce-page .quantity .qty,.commerce-page input.input-text,.commerce-page textarea,.commerce-page select,.commerce-page .select2-selection { min-height:48px; border:1px solid #cddbe2; border-radius:10px; background:#fff; color:var(--ink); box-shadow:none; }
.commerce-page input.input-text,.commerce-page textarea { width:100%; padding:10px 13px; }
.commerce-page textarea { min-height:110px; }
.commerce-page .coupon { display:flex; gap:10px; }
.commerce-page .coupon .input-text { min-width:180px; }
.commerce-page button.button,.commerce-page a.button,.commerce-page input.button,.commerce-page #place_order { min-height:48px; padding:11px 22px; border:0; border-radius:999px; background:var(--blue); color:#fff; font-weight:800; }
.commerce-page button.button:hover,.commerce-page a.button:hover,.commerce-page input.button:hover,.commerce-page #place_order:hover { background:var(--navy); color:#fff; }
.commerce-page .cart_totals { padding:26px; border:1px solid var(--line); border-radius:18px; background:#fbfcfd; }
.commerce-page .cart_totals h2,.commerce-page #order_review_heading,.commerce-page .woocommerce-billing-fields h3 { font-size:1.45rem; }
.commerce-page .wc-proceed-to-checkout a.checkout-button { width:100%; display:flex; justify-content:center; margin-bottom:0; }
.commerce-page form.checkout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:42px; }
.commerce-page form.checkout > #customer_details { width:auto; float:none; }
.commerce-page form.checkout > #order_review_heading,.commerce-page form.checkout > #order_review { width:auto; float:none; }
.commerce-page #order_review_heading { grid-column:2; margin:0 0 -24px; }
.commerce-page #order_review { grid-column:2; padding:25px; border:1px solid var(--line); border-radius:18px; background:#fbfcfd; }
.commerce-page #payment { background:#eef5f7; border-radius:14px; }
.commerce-page #payment div.payment_box { background:#fff; }
.commerce-page #payment ul.payment_methods { border-color:var(--line); }
.commerce-page .form-row { margin-bottom:16px; }
.commerce-page .form-row label { margin-bottom:6px; color:var(--navy); font-size:.88rem; font-weight:750; }
.commerce-page .woocommerce-privacy-policy-text { color:var(--muted); font-size:.85rem; }
.commerce-page .return-to-shop { text-align:center; }

/* Focused two-column checkout. */
.commerce-checkout-page .commerce-hero { padding:48px 0 36px; background:#fff; }
.commerce-checkout-page .commerce-hero h1 { margin:8px 0 6px; font-size:clamp(2rem,4vw,3rem); }
.commerce-checkout-page .commerce-hero p { font-size:1rem; }
.commerce-checkout-page .commerce-section { padding:48px 0 76px; }
.commerce-checkout-page .commerce-surface { padding:clamp(22px,3vw,38px); border-radius:18px; box-shadow:0 10px 30px rgba(16,42,67,.055); }
.commerce-checkout-page .woocommerce-message { display:none; }
.commerce-checkout-page .woocommerce-form-coupon-toggle { margin-bottom:24px; }
.commerce-checkout-page .woocommerce-info { padding:13px 16px 13px 42px; border-radius:10px; font-size:.9rem; }
.commerce-checkout-page form.checkout { grid-template-columns:minmax(0,1fr) minmax(360px,.82fr); gap:52px; }
.commerce-checkout-page form.checkout > #customer_details { min-width:0; }
.commerce-checkout-page #customer_details .col-1 { width:100%; float:none; }
.commerce-checkout-page #customer_details .col-2 { display:none; }
.commerce-checkout-page .woocommerce-billing-fields h3 { margin-bottom:24px; font-size:1.55rem; }
.commerce-checkout-page .woocommerce-billing-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; }
.commerce-checkout-page .woocommerce-billing-fields__field-wrapper .form-row { width:100%; float:none; margin:0; padding:0; }
.commerce-checkout-page .woocommerce-billing-fields__field-wrapper .form-row-wide { grid-column:1 / -1; }
.commerce-checkout-page .form-row label { display:block; margin-bottom:7px; color:var(--navy); font-size:.84rem; font-weight:800; }
.commerce-checkout-page .form-row .required { color:#c43d4c; }
.commerce-checkout-page .form-row input.input-text,
.commerce-checkout-page .form-row textarea,
.commerce-checkout-page .select2-container .select2-selection--single {
    width:100%; min-height:52px; padding:0 15px; border:1px solid #cbd9e0;
    border-radius:11px; background:#fbfdfe; color:var(--ink); font-size:1rem;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.commerce-checkout-page .form-row input.input-text:focus,
.commerce-checkout-page .form-row textarea:focus,
.commerce-checkout-page .select2-container--focus .select2-selection--single {
    outline:0; border-color:var(--blue); background:#fff; box-shadow:0 0 0 4px rgba(23,107,135,.11);
}
.commerce-checkout-page .select2-container .select2-selection--single .select2-selection__rendered { padding:11px 28px 11px 0; color:var(--ink); line-height:28px; }
.commerce-checkout-page .select2-container .select2-selection--single .select2-selection__arrow { top:13px; right:10px; }
.commerce-checkout-page #order_review_heading { display:none; }
.commerce-checkout-page #order_review { position:sticky; grid-column:2; grid-row:1; top:96px; padding:24px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 10px 28px rgba(16,42,67,.07); }
.commerce-checkout-page #order_review::before { content:"Your order"; display:block; margin-bottom:18px; color:var(--navy); font-size:1.4rem; font-weight:850; line-height:1.2; }
.commerce-checkout-page #order_review table.shop_table { margin:0 0 18px; border:0; border-radius:0; }
.commerce-checkout-page #order_review table.shop_table th,
.commerce-checkout-page #order_review table.shop_table td { padding:11px 0; border-color:var(--line); background:transparent; font-size:.9rem; }
.commerce-checkout-page #order_review table.shop_table thead th { padding-top:0; color:var(--muted); font-size:.72rem; }
.commerce-checkout-page #order_review table.shop_table th:last-child,
.commerce-checkout-page #order_review table.shop_table td:last-child { text-align:right; }
.commerce-checkout-page #order_review .order-total th,
.commerce-checkout-page #order_review .order-total td { padding-top:15px; color:var(--navy); font-size:1.08rem; }
.commerce-checkout-page #payment { margin-top:4px; background:#f4f8f9; }
.commerce-checkout-page #payment ul.payment_methods { padding:16px; }
.commerce-checkout-page #payment ul.payment_methods li { margin:0; padding:9px 0; font-weight:750; }
.commerce-checkout-page #payment div.form-row { padding:16px; }
.commerce-checkout-page #payment .woocommerce-privacy-policy-text { margin-bottom:14px; line-height:1.5; }
.commerce-checkout-page #payment .button,
.commerce-checkout-page #payment #place_order { width:100%; min-height:52px; border-radius:10px !important; }

/* Simple cart treatment. */
.commerce-cart-page .commerce-hero { padding:50px 0 38px; background:#fff; }
.commerce-cart-page .commerce-hero h1 { margin:8px 0 6px; font-size:clamp(2rem,4vw,3rem); }
.commerce-cart-page .commerce-hero p { font-size:1rem; }
.commerce-cart-page .commerce-section { padding:52px 0 76px; background:#f7f9fa; }
.commerce-cart-page .commerce-surface { padding:clamp(20px,3vw,34px); border-radius:18px; box-shadow:0 10px 30px rgba(16,42,67,.055); }
.commerce-cart-page table.shop_table { margin-bottom:30px; border:0; border-radius:0; }
.commerce-cart-page table.shop_table th { padding:12px 16px; background:transparent; color:var(--muted); }
.commerce-cart-page table.shop_table td { padding:18px 16px; }
.commerce-cart-page .product-thumbnail { width:72px; }
.commerce-cart-page .product-thumbnail img { width:54px; }
.commerce-cart-page .cart-collaterals .cart_totals { width:min(100%,430px); padding:24px; border:0; background:#f4f8f9; }
.commerce-cart-page .cart_totals h2 { margin-bottom:16px; font-size:1.25rem; }
.commerce-cart-page .cart_totals table { margin-bottom:18px; }
.commerce-cart-page .cart_totals table th,.commerce-cart-page .cart_totals table td { padding:12px 0; background:transparent; }
.commerce-cart-page .wc-proceed-to-checkout { padding:12px 0 0; }
.commerce-cart-page .wc-proceed-to-checkout a.checkout-button {
    min-height:56px; margin:0 !important; padding:14px 24px !important;
    border:1px solid var(--navy) !important; border-radius:12px !important;
    background:var(--navy) !important; color:#fff !important;
    font-size:1rem !important; font-weight:850 !important; letter-spacing:.01em;
    box-shadow:0 10px 22px rgba(16,42,67,.16); transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.commerce-cart-page .wc-proceed-to-checkout a.checkout-button:hover {
    transform:translateY(-2px); background:var(--blue) !important;
    border-color:var(--blue) !important; box-shadow:0 13px 28px rgba(23,107,135,.22);
}
.commerce-cart-page .wc-proceed-to-checkout a.checkout-button::after { content:"  →"; }
@media (max-width:900px) {
    .commerce-page form.checkout { grid-template-columns:1fr; }
    .commerce-page form.checkout > #order_review_heading,.commerce-page form.checkout > #order_review { grid-column:1; }
    .commerce-checkout-page #order_review { position:static; grid-row:auto; }
}
@media (max-width:620px) {
    .commerce-hero { padding:58px 0 44px; }
    .commerce-surface { padding:18px; border-radius:16px; }
    .commerce-page table.shop_table_responsive tr td { padding:14px; }
    .commerce-page .coupon { flex-direction:column; }
    .commerce-page .coupon .input-text { min-width:0; }
    .commerce-checkout-page .woocommerce-billing-fields__field-wrapper { grid-template-columns:1fr; }
    .commerce-checkout-page .woocommerce-billing-fields__field-wrapper .form-row { grid-column:1; }
}
