/* Cannuna patient journey. Original consultation interactions are preserved. */
@media (max-width:849px) {
 .cn-consultation .amed-public-booking__profile .amed-public-booking__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-column:1/-1; gap:10px; margin:12px 0 0; padding:12px 0 0; border-top:1px solid #dce5e4; }
 .cn-consultation .amed-public-booking__facts li { padding:0; border:0; min-width:0; }
 .cn-consultation .amed-public-booking__facts span { font-size:12px; }
 .cn-consultation .amed-public-booking__facts strong { font-size:14px; }
 .cn-consultation .amed-public-booking__mobile-primary,.cn-consultation .amed-public-booking__mobile-secondary { font-size:16px; font-weight:600; text-transform:none; }
 .cn-consultation .amed-public-booking__details input { font-size:16px; min-height:48px; }
 .cn-consultation .amed-public-booking__change-schedule { min-height:44px; font-size:14px; }
}
.cn-page { --cn-ink:#123f46; --cn-blue:#3d7fa3; --cn-water:#b8dad8; --cn-sand:#f4f1e8; --cn-line:#dce5e4; color:#263334; background:#fff; font-family:Inter,sans-serif; font-size:16px; line-height:1.65; }
.cn-page *, .cn-page *::before, .cn-page *::after { box-sizing:border-box; }
.cn-page h1,.cn-page h2,.cn-page h3 { color:var(--cn-ink); font-family:Manrope,sans-serif; font-weight:700; letter-spacing:-.035em; }
.cn-page:not(.cn-consultation) h1 { margin:0 0 24px; font-size:clamp(36px,4.1vw,60px); line-height:1.12; }
.cn-page:not(.cn-consultation) h2 { margin:0 0 20px; font-size:clamp(29px,3vw,42px); line-height:1.2; }
.cn-page:not(.cn-consultation) h3 { margin:0 0 12px; font-size:20px; line-height:1.35; }
.cn-page p { margin:0 0 20px; }
.cn-page a { text-decoration:none; }
.cn-page a:focus-visible,.cn-page button:focus-visible,.cn-page summary:focus-visible { outline:3px solid var(--cn-blue); outline-offset:5px; }
.cn-page section[id] { scroll-margin-top:24px; }
.cn-shell { width:min(1240px,calc(100% - 80px)); margin-inline:auto; }
.cn-skip { position:absolute; top:-100px; left:20px; z-index:9999; padding:12px 20px; background:#fff; color:var(--cn-ink); }
.cn-skip:focus { top:10px; }
.cn-header { background:#fff; border-bottom:1px solid var(--cn-line); }
.cn-header-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:96px; }
.cn-nav { display:flex; gap:22px; }
.cn-nav a,.cn-account { color:var(--cn-ink); font-size:14px; font-weight:600; }
.cn-nav a:hover,.cn-text-link:hover { color:var(--cn-blue); }
.cn-account { padding:10px 18px; border:1px solid var(--cn-line); border-radius:8px; white-space:nowrap; }
.cn-account span { margin-left:14px; }
.cn-mobile-menu { display:none; }
.cn-account-content { padding-block:44px 64px; min-height:65vh; }
.cn-patient-account .cn-account-content h1 { font-size:clamp(28px,3vw,42px); }
.cn-patient-account .cn-account-content h2 { font-size:24px; text-transform:none; }
.cn-patient-account .woocommerce-form-login,.cn-patient-account .lost_reset_password { max-width:520px; padding:24px; border:1px solid #dce5e4; border-radius:16px; background:#f8fbfa; }
.cn-patient-account .woocommerce input:not([type="checkbox"]):not([type="hidden"]) { min-height:48px; font-size:16px; border-radius:8px; }
.cn-patient-account .woocommerce button { min-height:48px; border-radius:8px; background:#123f46; color:#fff; font-size:16px; text-transform:none; }
.cn-patient-account .woocommerce-form-login__submit { width:100%; margin:16px 0 0; }
.cn-patient-account .woocommerce-LostPassword a { display:inline-flex; min-height:44px; align-items:center; color:#123f46; text-decoration:underline; }
.cn-hero { padding:76px 0 72px; background:var(--cn-sand); }
.cn-hero-grid { display:grid; grid-template-columns:1.18fr 1fr; align-items:center; gap:80px; }
.cn-page .cn-eyebrow { margin:0 0 22px; color:var(--cn-blue); font-size:11px; letter-spacing:.13em; font-weight:700; text-transform:uppercase; }
.cn-hero h1 em { color:var(--cn-blue); font-style:normal; }
.cn-lead { font-size:18px; line-height:1.75; }
.cn-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; }
.cn-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:52px; padding:14px 22px; border:1px solid var(--cn-ink); border-radius:8px; background:var(--cn-ink); color:#fff !important; font-size:14px; font-weight:600; line-height:1.4; transition:background .18s; }
.cn-button:hover { background:var(--cn-blue); border-color:var(--cn-blue); }
.cn-text-link { color:var(--cn-ink); font-size:13px; font-weight:600; }
.cn-page .cn-caption { margin:22px 0 0; max-width:490px; color:#556464; font-size:12px; line-height:1.7; }
.cn-journey { padding:30px; border:1px solid var(--cn-line); border-radius:22px; background:#fff; box-shadow:0 20px 60px #123f4609; }
.cn-journey-title { display:flex; align-items:center; gap:20px; padding-bottom:26px; border-bottom:1px solid var(--cn-line); }
.cn-journey-title strong,.cn-journey-title span:not(.cannuna-mark) { display:block; }
.cn-journey-title strong { color:var(--cn-ink); font-family:Manrope,sans-serif; font-size:18px; }
.cn-journey-title div span { font-size:13px; color:#556464; }
.cn-page .cn-journey-list,.cn-page .cn-steps,.cn-page .cn-after-list { list-style:none; padding:0; margin:0; }
.cn-journey-list li { display:flex; align-items:center; gap:18px; margin:0; padding:22px 0; border-bottom:1px solid var(--cn-line); }
.cn-number { display:flex; flex:0 0 38px; height:38px; align-items:center; justify-content:center; border-radius:50%; background:#e7f2f1; color:var(--cn-ink); font-size:13px; font-weight:600; }
.cn-journey-list strong { color:var(--cn-ink); font-size:14px; }
.cn-journey-list p { margin:4px 0 0; color:#556464; font-size:12px; }
.cn-journey-partner { display:grid; margin-top:24px; padding:18px 20px; border-radius:12px; background:#edf5f5; }
.cn-journey-partner>span,.cn-journey-partner small { font-size:11px; color:#556464; }
.cn-journey-partner strong { margin:4px 0; color:var(--cn-ink); font-family:Manrope,sans-serif; font-size:21px; }
.cn-journey-partner strong span { float:right; }
.cn-service-strip { padding:22px 0; border-bottom:1px solid var(--cn-line); }
.cn-service-strip .cn-shell { display:flex; justify-content:space-between; gap:20px; }
.cn-service-strip span { display:flex; align-items:center; gap:12px; color:var(--cn-ink); font-size:13px; }
.cn-service-strip span::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--cn-blue); }
.cn-section { padding:90px 0; }
.cn-section-head { max-width:670px; margin-bottom:44px; }
.cn-section-head>p:last-child { color:#556464; }
.cn-how { background:#f7f9f8; }
.cn-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.cn-steps li { margin:0; padding-top:20px; border-top:1px solid #bdcecc; }
.cn-step-index { display:block; margin-bottom:22px; color:var(--cn-blue); font-family:Manrope,sans-serif; font-size:28px; }
.cn-steps p { margin:0; color:#556464; font-size:14px; }
.cn-note { margin-top:44px; padding:22px 26px; border-left:3px solid var(--cn-blue); background:#eaf2f3; border-radius:0 8px 8px 0; }
.cn-note strong { color:var(--cn-ink); font-size:15px; }
.cn-note p { margin:6px 0 0; font-size:13px; }
.cn-after-grid { display:grid; grid-template-columns:1fr 1.12fr; gap:90px; align-items:center; }
.cn-after-grid>div>p:not(.cn-eyebrow):not(.cn-lead) { color:#556464; font-size:14px; }
.cn-partner-sign { margin-top:34px; padding-top:24px; border-top:1px solid var(--cn-line); }
.cn-partner-sign span { display:block; font-size:12px; color:#556464; }
.cn-partner-sign strong { color:var(--cn-ink); font-family:Manrope,sans-serif; font-size:26px; }
.cn-after-card { padding:34px; border:1px solid var(--cn-line); border-radius:18px; }
.cn-after-list li { display:flex; gap:18px; margin:0 0 26px; }
.cn-after-list h3 { font-size:18px; letter-spacing:-.02em; }
.cn-after-list p { margin:0; color:#556464; font-size:14px; }
.cn-page .cn-purchase-note { margin:0; padding-top:20px; border-top:1px solid var(--cn-line); font-size:12px; color:#556464; }
.cn-after-card .cn-button { margin-top:22px; }
.cn-faq { border-top:1px solid var(--cn-line); }
.cn-faq-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:70px; }
.cn-faq-list details { border-bottom:1px solid var(--cn-line); }
.cn-faq-list details:first-child { border-top:1px solid var(--cn-line); }
.cn-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; color:var(--cn-ink); font-size:15px; font-weight:600; list-style:none; cursor:pointer; }
.cn-faq-list summary::-webkit-details-marker { display:none; }
.cn-faq-list summary::after { content:'+'; font-size:23px; font-weight:400; }
.cn-faq-list details[open] summary::after { content:'−'; }
.cn-faq-list p { padding-right:24px; color:#556464; font-size:14px; }
.cn-final { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:48px 54px; border-radius:18px; background:var(--cn-ink); }
.cn-page .cn-final h2 { margin:0; color:#fff; font-size:34px; }
.cn-final .cn-eyebrow { color:var(--cn-water); }
.cn-button-light { background:var(--cn-water); color:var(--cn-ink) !important; border-color:var(--cn-water); }
.cn-button-light:hover { background:#fff; border-color:#fff; }
.cn-professional { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:50px; }
.cn-page .cn-professional h2 { margin:0 0 6px; font-size:20px; }
.cn-professional p { margin:0; font-size:13px; color:#556464; }
.cn-footer { padding:46px 0 24px; border-top:1px solid var(--cn-line); background:#f7f9f8; }
.cn-footer-top { display:flex; justify-content:space-between; gap:30px; padding-bottom:32px; }
.cn-footer-top p { margin:12px 0 0; color:#556464; font-size:12px; }
.cn-footer nav { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.cn-footer nav a { color:var(--cn-ink); font-size:12px; }
.cn-footer-bottom { display:flex; justify-content:space-between; gap:24px; padding-top:22px; border-top:1px solid var(--cn-line); color:#556464; font-size:11px; }
/* Native plugin components: visual overrides only. */
.cn-page .amed-online-prescribers { padding:0; border:0; gap:50px; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); }
.cn-page .amed-online-prescribers__copy h2 { font-size:clamp(29px,3vw,42px); line-height:1.2; }
.cn-page .amed-mini-title { color:var(--cn-blue); font-size:11px; letter-spacing:.13em; }
.cn-page .amed-online-prescribers__panel { padding:22px; border-color:var(--cn-line); border-radius:18px; box-shadow:none; }
.cn-page .amed-online-prescriber-card { flex-basis:calc((100% - 14px)/2); min-width:215px; border-color:var(--cn-line); }
.cn-page .amed-online-prescriber-card__photo { height:190px; }
.cn-page .amed-online-prescriber-card__body h3 { letter-spacing:-.025em; }
.cn-page .amed-online-prescribers__button--primary { color:#fff; background:var(--cn-ink); border-color:var(--cn-ink); border-radius:8px; min-height:50px; }
.cn-page .amed-online-prescribers__button--primary:hover { background:var(--cn-blue); border-color:var(--cn-blue); }
.cn-page .amed-online-prescriber-card__action { color:var(--cn-ink); border-color:var(--cn-blue); border-radius:6px; }
.cn-page .amed-online-prescriber-card__action:hover { color:#fff; background:var(--cn-ink); border-color:var(--cn-ink); }
.cn-page .amed-online-prescriber-card.is-online .amed-online-prescriber-card__photo span { color:var(--cn-ink); background:#e7f2f1; }
.cn-page .amed-online-prescriber-card.is-online .amed-online-prescriber-card__photo span::before { background:var(--cn-blue); }
.cn-consultation .amed-telemed { width:min(1380px,calc(100% - 80px)); max-width:none; margin:0 auto; padding:44px 0 70px; }
.cn-consultation .amed-telemed__hero { min-height:0; padding:0; gap:20px; margin-bottom:24px; }
.cn-consultation .amed-telemed__hero-content h1 { font-size:clamp(28px,3vw,42px); line-height:1.15; margin:0 0 10px; }
.cn-consultation .amed-telemed__hero-content p { font-size:16px; line-height:1.5; margin:0; }
.cn-consultation .amed-telemed__hero-content>span { color:var(--cn-blue); }
.cn-consultation .amed-telemed__tabs button.is-active { color:var(--cn-ink); background:#e7f2f1; border-color:var(--cn-water); }
.cn-consultation .amed-public-booking__shell { font-size:14px; }
.cn-consultation .amed-public-booking__head h1 { font-size:clamp(30px,3.2vw,44px); }
.cn-consultation .amed-public-booking__back { color:var(--cn-ink); }
.cn-consultation .amed-public-booking__steps { background:#f4f8f8; }
.cn-consultation .amed-public-booking__steps strong { background:#e7f2f1; color:var(--cn-ink); }
.cn-consultation .amed-public-booking__steps .is-active strong { background:var(--cn-ink); color:#fff; }
.cn-consultation .amed-public-booking__steps div:not(:last-child)::after { background:var(--cn-line); }
.cn-consultation .amed-public-booking__status.is-in_progress { background:#e7f2f1; color:var(--cn-ink); }
/* Two compact catalogue cards per row on phones; booking screens are unchanged. */
@media (max-width:849px) {
 .cn-consultation .amed-telemed__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:stretch; }
 .cn-consultation .amed-telemed-card { display:flex; flex-direction:column; min-width:0; border-radius:12px; }
 .cn-consultation .amed-telemed-card[hidden] { display:none; }
 .cn-consultation .amed-telemed-card__photo { height:auto; aspect-ratio:1.15; flex-shrink:0; }
 .cn-consultation .amed-telemed-card__photo img { object-position:center 25%; }
 .cn-consultation .amed-telemed-card__photo em { right:6px; bottom:6px; min-height:22px; padding:5px 8px; font-size:9px; }
 .cn-consultation .amed-telemed-card__body { display:flex; flex:1; flex-direction:column; padding:12px; }
 .cn-consultation .amed-telemed-card h2 { min-height:2.6em; font-size:15px; line-height:1.3; overflow-wrap:anywhere; }
 .cn-consultation .amed-telemed-card__specialty { min-height:2.9em; margin:8px 0 0 !important; font-size:12px !important; line-height:1.45; overflow-wrap:anywhere; }
 .cn-consultation .amed-telemed-card__record { min-height:2.5em; margin:8px 0 12px !important; font-size:11px !important; overflow-wrap:anywhere; }
 .cn-consultation .amed-telemed-card__meta { flex-direction:column; align-items:flex-start; gap:6px; margin-top:auto; padding-top:12px; }
 .cn-consultation .amed-telemed-card__meta strong { font-size:14px; line-height:1.3; }
 .cn-consultation .amed-telemed-card__meta span { font-size:11px; }
 .cn-consultation .amed-telemed-card__body>a { display:flex; align-items:center; justify-content:center; min-height:44px; margin-top:12px; padding:8px 4px; font-size:13px; }
}
@media (max-width:1050px) {
 .cn-shell { width:calc(100% - 48px); }
 .cn-header-inner { gap:18px; flex-wrap:wrap; padding-block:18px; }
 .cn-nav { order:3; width:100%; justify-content:space-between; gap:18px; }
 .cn-hero-grid { gap:36px; }
 .cn-hero { padding:55px 0; }
 .cn-journey { padding:24px; }
 .cn-section { padding:65px 0; }
 .cn-after-grid,.cn-faq-grid { gap:40px; }
 .cn-page .amed-online-prescribers { gap:30px; }
 .cn-steps { grid-template-columns:repeat(2,1fr); }
 .cn-consultation .amed-telemed { width:calc(100% - 48px); }
}
@media (max-width:760px) {
 .cn-shell { width:calc(100% - 40px); }
 .cn-header-inner { flex-wrap:wrap; gap:0; padding-top:18px; padding-bottom:14px; min-height:0; }
 .cn-header .cannuna-brand { font-size:25px; }
 .cn-account { margin-left:auto; padding:8px 12px; font-size:12px; }
 .cn-account span { margin-left:8px; }
 .cn-nav-desktop { display:none; }
 .cn-header-inner { position:relative; gap:10px; flex-wrap:nowrap; padding-block:12px; }
 .cn-header .cannuna-brand { font-size:23px; }
 .cn-header .cn-account { display:none; }
 .cn-mobile-menu { display:block; margin-left:auto; }
 .cn-mobile-menu summary { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 12px; color:#123f46; font-size:14px; font-weight:600; border:1px solid #dce5e4; border-radius:10px; cursor:pointer; list-style:none; }
 .cn-mobile-menu summary::-webkit-details-marker { display:none; }
 .cn-mobile-menu nav { position:absolute; top:100%; left:0; right:0; z-index:20; display:grid; padding:12px; background:#fff; border:1px solid #dce5e4; border-radius:0 0 14px 14px; box-shadow:0 16px 30px #123f461a; }
 .cn-mobile-menu nav a { display:flex; align-items:center; min-height:48px; padding:10px 12px; color:#123f46; font-size:15px; }
 .cn-hero-grid,.cn-after-grid,.cn-faq-grid { grid-template-columns:1fr; }
 .cn-hero { padding:42px 0; }
 .cn-hero h1 { max-width:560px; }
 .cn-lead { font-size:16px; }
 .cn-journey { max-width:540px; width:100%; }
 .cn-service-strip .cn-shell { flex-wrap:wrap; justify-content:flex-start; gap:12px 24px; }
 .cn-service-strip span { font-size:11px; }
 .cn-section { padding:52px 0; }
 .cn-section-head { margin-bottom:30px; }
 .cn-page .amed-online-prescribers { grid-template-columns:1fr; }
 .cn-page .amed-online-prescribers__copy { max-width:none; }
 .cn-page .amed-online-prescribers__panel { padding:16px; }
 .cn-page .amed-online-prescriber-card { flex-basis:230px; }
 .cn-after-card { padding:24px; }
 .cn-final { align-items:flex-start; flex-direction:column; padding:32px 24px; }
 .cn-page .cn-final h2 { font-size:29px; }
 .cn-professional,.cn-footer-top,.cn-footer-bottom { flex-direction:column; align-items:flex-start; gap:24px; }
 .cn-footer nav { align-items:flex-start; flex-direction:column; gap:14px; }
 .cn-consultation .amed-telemed { width:calc(100% - 32px); padding-top:28px; }
 .cn-consultation .amed-telemed__hero-content h1 { font-size:26px; font-weight:600; letter-spacing:-.4px; }
 .cn-consultation .amed-telemed__hero-content p { font-size:14px; }
}
@media (max-width:430px) {
 .cn-steps { grid-template-columns:1fr; gap:26px; }
 .cn-step-index { margin-bottom:12px; }
 .cn-note { padding:20px; }
 .cn-page .cn-eyebrow { font-size:10px; }
}
.cn-information-main { padding-block:64px 80px; min-height:55vh; }
.cn-information-copy { max-width:780px; }
.cn-information-copy h2 { font-size:27px !important; margin-top:36px !important; }
.cn-information-copy p { color:#556464; }
.cn-information-note { margin:24px 0; max-width:780px; padding:22px; border:1px solid #dce5e4; border-radius:10px; background:#f4f8f8; color:#556464; }
.cn-information-main>.cn-button { margin-bottom:24px; }
.cn-article-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:24px; margin-top:32px; }
.cn-article-grid article { padding:24px; border:1px solid #dce5e4; border-radius:10px; }
.cn-article-grid h2 { font-size:24px !important; }
.cn-partner-lockup { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:22px; }
.cn-partner-lockup>span { color:#556464; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.cn-partner-lockup img { display:block; width:164px; max-width:100%; height:auto; }
.cn-footer-partner { padding:0 0 26px; }
.cn-footer-partner .cn-partner-lockup { margin-top:0; }
.cn-footer-partner .cn-partner-lockup img { width:144px; }
/* Compact home: one introduction, one consultation-to-purchase sequence. */
.cn-home-focused .cn-hero { padding:54px 0; }
.cn-home-focused .cn-hero-grid { grid-template-columns:1.35fr 1fr; gap:80px; }
.cn-home-focused .cn-hero h1 { margin:0; font-size:clamp(32px,3.4vw,48px); line-height:1.16; }
.cn-home-focused .cn-hero-intro { max-width:400px; }
.cn-home-focused .cn-section { padding:64px 0; }
.cn-home-focused .cn-clinical-note { margin:34px 0 0; padding-top:22px; border-top:1px solid var(--cn-line); font-size:13px; color:#556464; }
.cn-home-focused .cn-steps .cn-text-link { display:inline-block; margin-top:16px; }
.cn-home-focused #apos-consulta { scroll-margin-top:32px; }
@media (max-width:760px) {
 .cn-home-focused .cn-hero { padding:34px 0; }
 .cn-home-focused .cn-hero-grid { grid-template-columns:1fr; gap:22px; }
 .cn-home-focused .cn-hero-intro { max-width:none; }
 .cn-home-focused .cn-section { padding:42px 0; }
}
@media (prefers-reduced-motion:reduce) { .cn-page * { scroll-behavior:auto !important; transition:none !important; } }
