/* OLIVE PEOPLE Membership v2 — scoped to its own shortcode and page only. */
body.opm-membership-page #primary.opm-full-main,
body.opm-membership-page .opm-full-main,
body.opm-membership-page .opm-page-article { width:100%!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;min-height:0!important; }
body.opm-membership-page .opm-page-article>.entry-content {margin:0!important;padding:0!important;max-width:none!important;line-height:normal!important;}
body.opm-membership-page .opm-page-article>.entry-content>:first-child {margin-top:0!important;}
body.opm-membership-page .site-content {width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fbfaf5!important;}
body.opm-membership-page {overflow-x:hidden;}
.opm-v2,.opm-v2 * {box-sizing:border-box;}
.opm-v2 {--opm-dark:#28331f;--opm-green:#53623d;--opm-outline:#e8e7de;--opm-panel:#fffdfa;--opm-muted:#697167; width:100%;max-width:none!important;color:var(--opm-dark);font-family:Arial,Helvetica,sans-serif;line-height:1.4;direction:ltr;text-align:left;}
.opm-v2 :is(h1,h2,p) {margin:0;padding:0;}
.opm-v2 button,.opm-v2 input {font:inherit;}
.opm-v2 button {cursor:pointer;}
.opm-v2 :is(button,a):focus-visible {outline:2px solid #425c31;outline-offset:3px;}
.opm-v2 svg {width:24px;height:24px;display:block;flex-shrink:0;}
.opm-v2 .opm-scene {position:relative;isolation:isolate;width:100%;min-height:875px;padding:20px 16px 24px;background-color:#d9d3c1;background-image:url('olive-membership-scene.webp');background-size:100% 100%;background-position:center;background-repeat:no-repeat;display:flex;align-items:flex-start;justify-content:center;}
.opm-v2 .opm-center-stack {position:relative;z-index:1;width:min(590px,100%);display:flex;flex-direction:column;gap:14px;margin:0 auto;}
.opm-v2 .opm-main-card,.opm-v2 .opm-share-panel {width:100%;background:rgba(255,254,251,.97);border:1px solid rgba(255,255,255,.75);box-shadow:0 18px 36px rgba(52,48,36,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.opm-v2 .opm-main-card {padding:33px 38px 29px;border-radius:24px;text-align:center;}
.opm-v2 .opm-kicker {display:flex;align-items:center;justify-content:center;gap:17px;font-size:11px;letter-spacing:.38em;color:#4d5e3a;margin-bottom:18px;font-weight:normal;}
.opm-v2 .opm-kicker b {font-size:11px;font-weight:600;}
.opm-v2 .opm-kicker span {width:41px;height:1px;background:#aeb7a3;}
.opm-v2 .opm-main-card h1 {font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(34px,3.2vw,45px);line-height:1.13;letter-spacing:-.045em;color:#151c13;margin:0 0 11px!important;}
.opm-v2 .opm-deck {color:#5a625e;font-size:15px;line-height:1.5;white-space:normal;margin-bottom:17px!important;}
.opm-v2 .opm-deck strong {font-weight:750;color:#252722;}
.opm-v2 .opm-reward-line {display:flex;align-items:center;justify-content:center;gap:14px;color:#56605a;font-size:13px;margin-bottom:20px;}
.opm-v2 .opm-reward-chip {padding:6px 14px;display:flex;align-items:center;gap:8px;border-radius:999px;background:#f6ecd7;color:#22291f;white-space:nowrap;}
.opm-v2 .opm-reward-chip svg {width:18px;height:18px;stroke-width:1.7;}
.opm-v2 .opm-provider-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 auto;width:100%;}
.opm-v2 .opm-provider {height:103px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;color:#191c17!important;border:1px solid #ebe9e2;background:rgba(255,255,255,.9);box-shadow:0 7px 19px rgba(60,50,42,.035);border-radius:17px;padding:10px 7px;transition:transform .16s,box-shadow .16s,border-color .16s;}
.opm-v2 .opm-provider:hover {transform:translateY(-2px);border-color:#bcc6b0;box-shadow:0 12px 24px rgba(60,50,42,.1);background:#fff;}
.opm-v2 .opm-provider-graphic {height:41px;width:45px;display:flex;align-items:center;justify-content:center;color:#101514;}
.opm-v2 .opm-provider-graphic>svg {width:32px;height:32px;stroke-width:2;}
.opm-v2 .opm-provider-name {font-size:13px;font-weight:400;line-height:1.2;color:#181d18;}
.opm-v2 .opm-google-g {font-family:Arial,sans-serif;font-size:38px;font-weight:700;line-height:1;background:conic-gradient(from 20deg,#4285f4 0 25%,#34a853 25% 46%,#fbbc05 46% 66%,#ea4335 66% 86%,#4285f4 86%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.opm-v2 .opm-fb-f,.opm-v2 .opm-share-fb {width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#1877f2;border-radius:50%;color:#fff;font-family:Arial,sans-serif;font-size:34px;font-weight:700;line-height:1;padding-top:5px;}
.opm-v2 .opm-apple-logo {color:#161616;width:39px!important;height:39px!important;}
.opm-v2 .opm-wa-icon {display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#2bc565;color:#fff;border-radius:50%;}
.opm-v2 .opm-wa-icon svg {width:23px!important;height:23px!important;stroke-width:2.4;}
.opm-v2 .opm-signup-note {color:#7b807a;font-size:12px;line-height:1.5;margin:22px 0 21px!important;}
.opm-v2 .opm-signup-note i {padding:0 7px;font-style:normal;color:#829078;}
.opm-v2 .opm-main-cta {width:100%;height:51px;display:flex;align-items:center;justify-content:center;gap:22px;border:none;border-radius:13px;background:#66744e;color:#fff!important;text-decoration:none!important;font-size:17px;font-weight:500;box-shadow:inset 0 1px rgba(255,255,255,.16);transition:background .18s,transform .18s;}
.opm-v2 .opm-main-cta:hover {background:#4f5e3b;transform:translateY(-1px);}
.opm-v2 .opm-main-cta svg {width:19px;height:19px;}
.opm-v2 .opm-login-row {display:flex;align-items:center;gap:18px;color:#696c65;font-size:13px;margin-top:20px;}
.opm-v2 .opm-login-row>span {height:1px;min-width:15px;flex:1;background:#e9e8e1;}
.opm-v2 .opm-login-row p {white-space:nowrap;}
.opm-v2 .opm-login-row button {background:none;border:0;border-radius:0;padding:0 0 1px;color:#4e643a;text-decoration:underline;text-underline-offset:2px;font-size:inherit;}
.opm-v2 .opm-share-panel {border-radius:22px;text-align:center;padding:14px 22px 15px;}
.opm-v2 .opm-share-panel h2 {font-family:Arial,Helvetica,sans-serif!important;font-size:17px!important;font-weight:500!important;letter-spacing:0;margin:0 0 4px!important;line-height:1.25;}
.opm-v2 .opm-share-panel p {font-size:11px;color:#8a8c87;line-height:1.4;margin:0 0 14px!important;}
.opm-v2 .opm-share-icons {display:flex;align-items:start;justify-content:space-between;gap:8px;}
.opm-v2 .opm-share-icons button {display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:#292e29;border:0;background:none;padding:0 3px;white-space:nowrap;min-width:70px;}
.opm-v2 .opm-share-icons button>span {border:1px solid #f0eee8;background:rgba(255,255,255,.95);border-radius:14px;width:70px;height:47px;display:flex;align-items:center;justify-content:center;transition:background .18s, transform .18s;}
.opm-v2 .opm-share-icons button:hover>span {background:#edf2e6;transform:translateY(-2px);}
.opm-v2 .opm-share-icons svg {width:23px;height:23px;}
.opm-v2 .opm-share-icons .opm-share-wa svg {width:23px;height:23px;color:white;}
.opm-v2 .opm-share-icons .opm-share-wa .opm-wa-icon {width:28px;height:28px;}
.opm-v2 .opm-share-fb {width:27px!important;height:27px!important;font-size:27px!important;padding-top:5px!important;}
.opm-v2 .opm-share-ig svg {color:#d52b8e;stroke-width:2.4;}
.opm-v2 .opm-trust-bar {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fffefa;min-height:115px;padding:22px 4%;border-top:1px solid #eeede8;}
.opm-v2 .opm-trust-item {display:flex;align-items:center;justify-content:center;gap:15px;padding:0 19px;border-right:1px solid #dcded5;min-width:0;}
.opm-v2 .opm-trust-item:last-child {border-right:0;}
.opm-v2 .opm-trust-item>svg {width:37px;height:37px;color:#495c35;stroke-width:1.5;}
.opm-v2 .opm-trust-item p {display:flex;flex-direction:column;gap:5px;line-height:1.15;}
.opm-v2 .opm-trust-item strong {font-size:13px;font-weight:500;color:#2a3228;}
.opm-v2 .opm-trust-item small {font-size:11px;color:#8a8e8c;}
.opm-v2 .opm-feedback {font-size:12px;color:#37552c;background:#eef5ea;padding:9px 13px;border-radius:8px;margin:-6px 0 12px;}
.opm-v2 .opm-toaster {position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100001;background:#304329;color:white;max-width:min(92vw,460px);min-width:240px;padding:12px 18px;border-radius:12px;text-align:center;font-size:14px;box-shadow:0 12px 35px rgba(0,0,0,.18);}
.opm-v2 .opm-toaster[hidden],.opm-v2 .opm-auth-overlay[hidden],.opm-v2 .opm-auth-form[hidden] {display:none!important;}
.opm-v2 .opm-auth-overlay {position:fixed;inset:0;z-index:100000;background:rgba(30,37,29,.48);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;}
.opm-v2 .opm-auth-dialog {width:min(445px,100%);max-height:calc(100dvh - 30px);overflow-y:auto;position:relative;padding:36px 33px 29px;border-radius:24px;background:#fffefa;box-shadow:0 25px 75px rgba(0,0,0,.19);}
.opm-v2 .opm-auth-close {position:absolute;right:17px;top:16px;width:33px;height:33px;display:flex;align-items:center;justify-content:center;border:1px solid #d6dacc;border-radius:50%;color:#435337;background:none;}
.opm-v2 .opm-auth-close svg {width:17px;height:17px;}
.opm-v2 .opm-auth-heading{text-align:center;margin-bottom:24px;}
.opm-v2 .opm-auth-heading small {font-size:10px;letter-spacing:.2em;color:#6c7a5e;}
.opm-v2 .opm-auth-heading h2 {font-family:Georgia,serif;font-size:32px;font-weight:400;margin:12px 0 7px!important;}
.opm-v2 .opm-auth-heading p {font-size:13px;color:#777b70;}
.opm-v2 .opm-auth-form {display:flex;flex-direction:column;gap:14px;}
.opm-v2 .opm-auth-form label {display:flex;flex-direction:column;gap:7px;font-size:13px;color:#43523a;font-weight:600;}
.opm-v2 .opm-auth-form input {border:1px solid #d8dcce;border-radius:9px;background:white;min-height:43px;padding:10px 11px;color:#263221;font-size:14px;width:100%;}
.opm-v2 .opm-auth-form input:focus-visible {outline:2px solid #7b9566;outline-offset:0;}
.opm-v2 .opm-auth-submit {display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:10px;background:#536442;color:white;padding:13px;font-size:15px;margin-top:5px;}
.opm-v2 .opm-auth-submit svg {width:18px;height:18px;}
.opm-v2 .opm-form-explain {color:#7d817b;text-align:center;font-size:12px;line-height:1.5;}
.opm-v2 .opm-auth-switch {border:0;background:none;text-decoration:underline;color:#4e633c;font-size:13px;align-self:center;padding:5px;}
.opm-v2 .opm-forgot {color:#4e633c!important;text-decoration:underline!important;font-size:12px;text-align:center;}
.opm-v2 .opm-honeypot {position:absolute!important;left:-9999px!important;top:-9999px!important;height:1px!important;width:1px!important;overflow:hidden!important;}
@media (min-width:1600px) {
 .opm-v2 .opm-scene {background-size:100% 100%;}
}
@media (max-width:1120px) {
 .opm-v2 .opm-scene {background-image:linear-gradient(rgba(247,245,236,.32),rgba(247,245,236,.32)),url('olive-membership-scene.webp');}
 .opm-v2 .opm-main-card {background:rgba(255,254,251,.985);}
 .opm-v2 .opm-trust-bar {grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:18px;}
 .opm-v2 .opm-trust-item {min-height:86px;}
 .opm-v2 .opm-trust-item:nth-child(2) {border-right:0;}
 .opm-v2 .opm-trust-item:nth-child(-n+2) {border-bottom:1px solid #dedfd7;}
}
@media (max-width:680px) {
 .opm-v2 .opm-scene {padding:18px 12px 25px;min-height:0;background-image:linear-gradient(rgba(244,241,229,.76),rgba(244,241,229,.88)),url('olive-membership-scene.webp');background-size:cover;background-position:17% center;}
 .opm-v2 .opm-center-stack {max-width:480px;gap:12px;}
 .opm-v2 .opm-main-card {border-radius:21px;padding:25px 19px 25px;box-shadow:0 14px 33px rgba(52,48,36,.11);}
 .opm-v2 .opm-kicker {margin-bottom:13px;letter-spacing:.31em;gap:12px;}
 .opm-v2 .opm-kicker span {width:28px;}
 .opm-v2 .opm-main-card h1 {font-size:clamp(27px,7.8vw,39px);white-space:normal;}
 .opm-v2 .opm-deck {font-size:13px;line-height:1.5;margin-bottom:14px!important;}
 .opm-v2 .opm-reward-line {font-size:11px;gap:9px;flex-wrap:wrap;margin-bottom:16px;}
 .opm-v2 .opm-reward-chip {padding:6px 9px;}
 .opm-v2 .opm-provider-grid {gap:8px;}
 .opm-v2 .opm-provider {height:88px;border-radius:13px;gap:5px;padding:8px 2px;}
 .opm-v2 .opm-provider-graphic {width:37px;height:33px;}
 .opm-v2 .opm-provider-graphic>svg {width:29px;height:29px;}
 .opm-v2 .opm-google-g {font-size:34px;}
 .opm-v2 .opm-fb-f {width:31px;height:31px;font-size:30px;}
 .opm-v2 .opm-apple-logo {width:34px!important;height:34px!important;}
 .opm-v2 .opm-wa-icon {width:32px;height:32px;}
 .opm-v2 .opm-provider-name {font-size:11px;}
 .opm-v2 .opm-signup-note {font-size:10px;line-height:1.7;margin:16px 0 16px!important;}
 .opm-v2 .opm-signup-note i {padding:0 3px;}
 .opm-v2 .opm-main-cta {height:46px;font-size:15px;}
 .opm-v2 .opm-login-row {font-size:12px;margin-top:16px;gap:9px;}
 .opm-v2 .opm-share-panel {border-radius:20px;padding:16px 12px;}
 .opm-v2 .opm-share-icons {gap:3px;}
 .opm-v2 .opm-share-icons button {font-size:10px;min-width:0;flex:1;padding:0;}
 .opm-v2 .opm-share-icons button>span {width:100%;max-width:55px;height:43px;border-radius:11px;}
 .opm-v2 .opm-share-panel p {font-size:10px;}
 .opm-v2 .opm-trust-bar {grid-template-columns:1fr 1fr;padding:14px 8px;}
 .opm-v2 .opm-trust-item {gap:9px;padding:13px 7px;min-height:72px;}
 .opm-v2 .opm-trust-item>svg {width:25px;height:25px;}
 .opm-v2 .opm-trust-item strong {font-size:11px;line-height:1.25;}
 .opm-v2 .opm-trust-item small {font-size:9px;}
 .opm-v2 .opm-auth-dialog {padding:33px 22px 23px;}
}
@media (max-width:345px) {
 .opm-v2 .opm-main-card {padding:22px 12px;}
 .opm-v2 .opm-provider-name {font-size:10px;}
 .opm-v2 .opm-signup-note {font-size:9px;}
}

.opm-v2 .opm-share-icons i.opm-share-fb {display:inline-flex;align-items:center;justify-content:center;font-style:normal;background:#1877f2;color:#fff;width:27px;height:27px;border-radius:50%;font-family:Arial,sans-serif;font-size:26px;font-weight:700;line-height:1;padding-top:4px;}
/* Desktop matching adjustments against the approved 1448px membership concept. */
@media (min-width:681px) {
  .opm-v2 .opm-main-card {padding-top:41px;padding-bottom:39px;}
  .opm-v2 .opm-provider {height:112px;}
  .opm-v2 .opm-share-panel {padding-top:19px;padding-bottom:19px;}
}
@media (min-width:1240px) {
  .opm-v2 .opm-center-stack {transform:translateX(-18px);}
}

/* v2.1.0: inactive future SSO tiles preserve approved visual without popups. */
.opm-v2 .opm-provider:disabled { opacity:1!important; cursor:default; }
.opm-v2 .opm-provider:disabled:hover {transform:none;box-shadow:0 7px 19px rgba(60,50,42,.035);border-color:#ebe9e2;background:rgba(255,255,255,.9);}
.opm-v2 .opm-account-links {display:flex;align-items:center;justify-content:center;gap:10px;margin:12px auto 0;flex-wrap:wrap;}
.opm-v2 .opm-account-links a {font-size:12px;text-decoration:underline;color:#52633d;padding:4px 3px;}

/* v2.2 — reduce above-the-fold height while preserving the approved visual composition. */
@media (min-width:681px) {
 .opm-v2 .opm-scene {min-height:665px;padding:12px 16px 14px;}
 .opm-v2 .opm-center-stack {width:min(550px,100%);gap:10px;}
 .opm-v2 .opm-main-card {padding:22px 31px 21px;border-radius:22px;}
 .opm-v2 .opm-kicker {margin-bottom:11px;}
 .opm-v2 .opm-main-card h1 {font-size:clamp(32px,2.9vw,41px);margin-bottom:7px!important;}
 .opm-v2 .opm-deck {font-size:13px;margin-bottom:12px!important;}
 .opm-v2 .opm-reward-line {font-size:12px;margin-bottom:14px;gap:11px;}
 .opm-v2 .opm-reward-chip {padding:5px 11px;}
 .opm-v2 .opm-provider-grid {gap:9px;}
 .opm-v2 .opm-provider {height:88px;border-radius:14px;gap:5px;}
 .opm-v2 .opm-provider-graphic {height:33px;width:39px;}
 .opm-v2 .opm-provider-graphic>svg {width:29px;height:29px;}
 .opm-v2 .opm-provider-name {font-size:12px;}
 .opm-v2 .opm-google-g {font-size:33px;}
 .opm-v2 .opm-fb-f {width:31px;height:31px;font-size:29px;}
 .opm-v2 .opm-apple-logo {width:32px!important;height:32px!important;}
 .opm-v2 .opm-wa-icon {width:31px;height:31px;}
 .opm-v2 .opm-signup-note {margin:12px 0 11px!important;font-size:11px;}
 .opm-v2 .opm-main-cta {height:44px;font-size:15px;}
 .opm-v2 .opm-login-row {margin-top:11px;font-size:12px;}
 .opm-v2 .opm-share-panel {padding:11px 18px 12px;}
 .opm-v2 .opm-share-panel p {margin-bottom:9px!important;}
 .opm-v2 .opm-share-icons button>span {height:42px;width:61px;border-radius:12px;}
 .opm-v2 .opm-trust-bar {min-height:83px;padding:13px 4%;}
 .opm-v2 .opm-trust-item>svg {width:29px;height:29px;}
}
@media (max-width:680px) {
 .opm-v2 .opm-scene {padding-top:10px;padding-bottom:15px;}
 .opm-v2 .opm-main-card {padding-top:20px;padding-bottom:19px;}
 .opm-v2 .opm-provider {height:79px;}
 .opm-v2 .opm-signup-note {margin:10px 0!important;}
 .opm-v2 .opm-login-row {margin-top:11px;}
 .opm-v2 .opm-share-panel {padding-top:12px;padding-bottom:12px;}
}
/* Separate order links from the hero CTA. They appear only inside the member's expandable panel. */
.opm-v2 .opm-member-details[hidden] {display:none!important;}
.opm-v2 .opm-member-details {margin:12px auto 0;border-top:1px solid #ecece4;padding-top:10px;}
.opm-v2 .opm-account-links {margin-top:0;gap:10px;}
.opm-v2 .opm-account-links a {font-size:12px;}
.opm-v2 .opm-preference-form {margin:13px auto 0;padding:10px 0 0;border-top:1px solid #e8e9df;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.opm-v2 .opm-checkbox-row {display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px!important;text-align:left;font-size:12px!important;line-height:1.45!important;font-weight:400!important;color:#52634a;cursor:pointer;}
.opm-v2 .opm-checkbox-row input[type=checkbox] {flex:none;width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;margin:1px 0 0!important;accent-color:#586a47;}
.opm-v2 .opm-preferences-save {font-size:11px;border:1px solid #c7d0bd;color:#536847;background:#f5f7f2;border-radius:9px;padding:8px 10px;}
.opm-v2 .opm-member-welcome {color:#58614f;}
.opm-v2 .opm-form-explain a {color:#4e643a;text-decoration:underline;}

/* v2.3: distinct logged-in dashboard; no accordion reflow. The hero image
   stays anchored to its original desktop frame even if content heights change. */
@media (min-width:681px) {
 .opm-v2 .opm-scene {background-size:100% 665px!important;background-position:center top!important;}
}
.opm-v2 .opm-member-dashboard {margin:0 auto;max-width:100%;}
.opm-v2 .opm-member-identity {background:#f5f3ea;border:1px solid #e5e5da;border-radius:16px;padding:18px 13px 17px;display:flex;flex-direction:column;align-items:center;gap:7px;}
.opm-v2 .opm-member-id-label {font-size:11px;letter-spacing:.23em;color:#6b795d;font-weight:600;}
.opm-v2 .opm-member-id-value {font-size:26px;font-weight:650;letter-spacing:.025em;color:#28351f;}
.opm-v2 .opm-member-tier {display:inline-flex;align-items:center;gap:7px;color:#50663b;font-size:11px;letter-spacing:.08em;font-weight:600;}
.opm-v2 .opm-tier-leaf svg {width:15px;height:15px;}
.opm-v2 .opm-member-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0 15px;}
.opm-v2 .opm-member-links a {min-height:86px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:10px 3px;border:1px solid #e7e7dd;background:#fff;border-radius:13px;text-decoration:none;color:#34412e;}
.opm-v2 .opm-member-links a:hover {background:#f6f8f3;border-color:#c8d0bf;}
.opm-v2 .opm-member-links a svg {width:25px;height:25px;}
.opm-v2 .opm-member-links a span {font-size:12px;font-weight:500;white-space:nowrap;}
.opm-v2 .opm-member-profile-cta {margin-top:0;}
.opm-v2 .opm-member-rewards-note {font-size:11px;color:#7b8177;margin:12px auto 0!important;}
.opm-v2 .opm-member-overlay[hidden] {display:none!important;}
.opm-v2 .opm-member-overlay {position:fixed;z-index:100000;inset:0;background:rgba(30,37,29,.48);display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;}
.opm-v2 .opm-member-dialog {width:min(425px,100%);position:relative;max-height:calc(100dvh - 30px);overflow-y:auto;padding:30px 27px;border-radius:22px;background:#fffefa;box-shadow:0 25px 75px rgba(0,0,0,.2);text-align:center;}
.opm-v2 .opm-member-close {position:absolute;right:15px;top:14px;border:1px solid #d6dacc;color:#435337;background:transparent;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.opm-v2 .opm-member-close svg {width:17px;height:17px;}
.opm-v2 .opm-member-dialog h2 {font-family:Georgia,serif;font-size:29px;font-weight:400;margin:4px 0 8px!important;}
.opm-v2 .opm-member-dialog-intro {font-size:12px;color:#747d6d;margin-bottom:18px!important;}
.opm-v2 .opm-member-dialog-links {display:flex;flex-direction:column;gap:7px;margin:0 0 16px;}
.opm-v2 .opm-member-dialog-links a {display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f7f6ef;padding:12px;border-radius:10px;text-decoration:none;color:#33432c;text-align:left;font-size:13px;}
.opm-v2 .opm-member-dialog-links svg {width:15px;height:15px;}
.opm-v2 .opm-member-pref-form {border-top:1px solid #e2e5dc;padding-top:15px;text-align:left;}
.opm-v2 .opm-member-pref-form>p {font-size:11px;color:#7d8479;margin:9px 0 15px!important;}
.opm-v2 .opm-member-pref-form .opm-main-cta {height:43px;font-size:14px;}
@media (max-width:680px) {
 .opm-v2 .opm-member-id-value {font-size:23px;}
 .opm-v2 .opm-member-links a {min-height:79px;}
 .opm-v2 .opm-member-links a span {font-size:11px;}
}


/* Membership 2.4.0 — keep landing artwork aligned while allowing the real
   document to end where the final trust bar ends. The theme's default
   min-height:calc(100vh - 82px) created the empty region above the footer. */
body.opm-membership-page .site-content {
  min-height: 0 !important;
}
/* The regular theme header paints a 1px line at the artwork edge; on this
   full-bleed membership landing there should be no border between them. */
body.opm-membership-page .site-header {
  border-bottom: 0 !important;
  box-shadow: none !important;
}
body.opm-membership-page .opm-v2 .opm-scene {
  margin-top: -1px;
  border-top: 0 !important;
  box-shadow: none !important;
}
/* Fix image coordinates independently of whether the customer is signed in,
   or whether account content is opened in the separate settings dialog. */
@media (min-width: 681px) {
  body.opm-membership-page .opm-v2 .opm-scene {
    background-size: 100% 669px !important;
    background-position: center -4px !important;
  }
}

/* Compact laptop viewports: fit the full scene, sharing controls and feature
   strip above the actual footer instead of placing the footer off-screen.
   Zoom scales a contained layout, never the entire document or background. */
@media (min-width: 681px) and (max-height: 899px) {
  body.opm-membership-page .opm-v2 .opm-scene {
    height: calc(100dvh - 250px);
    min-height: 0;
    padding: 10px 16px;
    background-size: 100% calc(100% + 4px) !important;
    background-position: center -3px !important;
  }
  body.opm-membership-page .opm-v2 .opm-center-stack {zoom: .90;}
}
@media (min-width: 681px) and (max-height: 850px) {
  body.opm-membership-page .opm-v2 .opm-center-stack {zoom: .82;}
}
@media (min-width: 681px) and (max-height: 800px) {
  body.opm-membership-page .opm-v2 .opm-center-stack {zoom: .74;}
}
@media (min-width: 681px) and (max-height: 750px) {
  body.opm-membership-page .opm-v2 .opm-center-stack {zoom: .66;}
}
@media (min-width: 681px) and (max-height: 700px) {
  /* At unusually short desktop heights readability takes priority over a
     scroll-free page. */
  body.opm-membership-page .opm-v2 .opm-scene {height: auto;min-height: 465px;}
}

/* Gently soften the thin bright vertical seam embedded in the decorative
   backdrop art. This covers only the narrow background strip and never the
   signup form, membership controls or member-card illustration. */
@media (min-width: 681px) {
  body.opm-membership-page .opm-v2 .opm-scene::before {
    content: '';
    position: absolute;
    z-index: 0;
    pointer-events: none;
    top: 0;
    bottom: 0;
    left: 70.1%;
    width: 1.25%;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    -webkit-mask-image: linear-gradient(90deg, transparent, black 25%, black 75%, transparent);
    mask-image: linear-gradient(90deg, transparent, black 25%, black 75%, transparent);
  }
}

/* v2.5.0 — reference-art daylight restoration.  The left OLIVE PEOPLE bottle
   and right membership card are taken from the approved original artwork at
   their natural aspect ratios. Do not stretch width and height independently. */
body.opm-membership-page .opm-v2 .opm-scene,
body.opm-membership-page .opm-v2 .opm-scene:is(:hover,:focus-within) {
  background-color: #f6f2e9 !important;
  background-image: url('olive-membership-scene-bright.webp') !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  border: 0 !important;
  margin-top: 0 !important;
}
/* The old seam-masking stripe was specific to the old processed backdrop. */
body.opm-membership-page .opm-v2 .opm-scene::before { content:none!important;display:none!important; }
/* The dark-green WordPress theme footer duplicates the art's feature strip.
   Hide it ONLY on /membership/, without changing checkout or other pages. */
body.opm-membership-page footer.site-footer {display:none!important;}
body.opm-membership-page .opm-v2 .opm-trust-bar {border-top:0!important;background:#fffefa!important;}
@media (max-width:680px) {
  body.opm-membership-page .opm-v2 .opm-scene {
    background-image:linear-gradient(rgba(250,248,242,.75),rgba(250,248,242,.85)),url('olive-membership-scene-bright.webp')!important;
    background-position: center top !important;
    background-size:cover !important;
  }
}
/* Preserve the exact bottle position on conventional desktop widths too. */
@media (min-width:681px) and (max-width:1550px) {
 body.opm-membership-page .opm-v2 .opm-scene {
  background-image:url('olive-membership-scene-bright-1448.webp')!important;
 }
}


/* v2.6.0 — single My Profile entry, and a compact non-functional rewards preview.
   Keep member and guest background imagery and layout exactly as in 2.5.0. */
.opm-v2 .opm-member-links :is(a,button) {
  min-height:86px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:9px;
  padding:10px 3px;
  border:1px solid #e7e7dd;
  background:#fff;
  border-radius:13px;
  text-decoration:none;
  color:#34412e;
  font:inherit;
  cursor:pointer;
  margin:0;
  width:100%;
}
.opm-v2 .opm-member-links :is(a,button):hover {background:#f6f8f3;border-color:#c8d0bf;}
.opm-v2 .opm-member-links :is(a,button):focus-visible {outline:2px solid #516740;outline-offset:2px;}
.opm-v2 .opm-member-links :is(a,button) svg {width:25px;height:25px;}
.opm-v2 .opm-member-links :is(a,button) span {font-size:12px;font-weight:500;white-space:nowrap;}
.opm-v2 .opm-points-preview {
  border:1px solid #e4e5d9;
  background:#f8f7f1;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  column-gap:12px;
  row-gap:2px;
  padding:9px 12px;
  min-height:61px;
}
.opm-v2 .opm-points-label {font-size:12px;color:#58664c;letter-spacing:.01em;}
.opm-v2 .opm-points-amount {font-size:19px;line-height:1.15;font-weight:650;color:#334627;white-space:nowrap;font-variant-numeric:tabular-nums;}
.opm-v2 .opm-points-amount small {font-size:12px;}
.opm-v2 .opm-points-hint {flex-basis:100%;font-size:10px;line-height:1.25;color:#818779;text-align:center;}
@media (max-width:680px) {
  .opm-v2 .opm-member-links :is(a,button) {min-height:79px;}
  .opm-v2 .opm-member-links :is(a,button) span {font-size:11px;}
}

/* Membership 2.6.1 — visible sign-up methods, tactile feedback and honest
   future-provider states. This is scoped to the non-member method tiles only;
   approved membership scene, header, points and logged-in dashboard stay intact. */
.opm-v2 .opm-provider-grid .opm-provider{
  position:relative;cursor:pointer;overflow:visible;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
@media(hover:hover) and (pointer:fine){
 .opm-v2 .opm-provider-grid .opm-provider:hover{
   transform:translateY(-4px) scale(1.025);border-color:#a9b998;
   background:#fffef9;box-shadow:0 13px 26px rgba(56,72,43,.15),0 2px 5px rgba(56,72,43,.08);
 }
 .opm-v2 .opm-provider-grid .opm-provider:hover .opm-provider-graphic{transform:translateY(-1px) scale(1.07);}
}
.opm-v2 .opm-provider-grid .opm-provider:active{transform:translateY(0) scale(.975);box-shadow:0 4px 12px rgba(56,72,43,.13);}
.opm-v2 .opm-provider-grid .opm-provider-graphic{transition:transform .2s ease;}
.opm-v2 .opm-provider-grid .opm-provider:focus-visible{outline:3px solid #61794e;outline-offset:2px;border-color:#61794e;}
.opm-v2 .opm-provider-grid .opm-provider.is-selected,
.opm-v2 .opm-provider-grid .opm-provider[aria-pressed="true"]{
 border-color:#889f73;background:linear-gradient(180deg,#f8faf4,#edf3e8);
 box-shadow:0 0 0 2px rgba(129,155,105,.18),0 8px 18px rgba(45,69,29,.09);
}
.opm-v2 .opm-provider-grid .opm-provider[aria-pressed="true"]::after{
 content:"✓";position:absolute;right:7px;top:6px;color:#4c6b3a;font-size:14px;font-weight:bold;
}
.opm-v2 .opm-provider-grid .opm-provider-soon{
 position:absolute;top:5px;right:6px;background:#f3f0e6;color:#68745c;border:1px solid #e5e4d8;
 border-radius:999px;padding:2px 5px;font:600 8px/1.2 Arial,sans-serif;
 opacity:0;transform:translateY(2px);transition:opacity .15s ease,transform .15s ease;
}
.opm-v2 .opm-provider-grid .opm-provider:hover .opm-provider-soon,
.opm-v2 .opm-provider-grid .opm-provider:focus-visible .opm-provider-soon{opacity:1;transform:translateY(0);}
.opm-v2 .opm-signup-note--selected{color:#485c38;font-weight:500;}
@media(hover:none){.opm-v2 .opm-provider-grid .opm-provider-soon{opacity:.8;transform:none;}}
@media(prefers-reduced-motion:reduce){.opm-v2 .opm-provider-grid .opm-provider,.opm-v2 .opm-provider-grid .opm-provider-graphic,.opm-v2 .opm-provider-grid .opm-provider-soon{transition:none!important;}}

/* 2.6.2: clearly distinct Email Registration, Member ID Login and Email Login.
   Keep six existing sign-up tiles and approved membership artwork intact. */
.opm-v2 .opm-main-cta[data-opm-open="id_login"]{background:#50633e}
.opm-v2 .opm-main-cta[data-opm-open="id_login"]:hover{background:#3d5330}
.opm-v2 .opm-password-overlay{z-index:100020}
.opm-v2 .opm-password-overlay .opm-auth-dialog{border:1px solid #d9dccd}
.opm-v2 .opm-auth-form input[name="opm_member_id"]{text-transform:uppercase;letter-spacing:.07em}
.opm-v2 .opm-login-row{flex-wrap:wrap;justify-content:center}
@media (max-width: 390px){.opm-v2 .opm-login-row p{white-space:normal;text-align:center}}

/* Membership 2.6.6 — brand marks are actual vectors, not translatable letters.
 * Keep brand names in their canonical form across RTL/LTR languages.
 */
.opm-v2 .opm-provider-graphic .opm-google-logo {
    width: 31px !important; height: 31px !important;
    display:block; flex:none;
}
.opm-v2 .opm-fb-f, .opm-v2 .opm-share-fb { padding-top:0 !important; }
.opm-v2 .opm-fb-f .opm-facebook-logo {
    width:17px !important; height:24px !important; color:#fff;
    display:block; fill:currentColor; stroke:none;
}
.opm-v2 .opm-wa-icon .opm-whatsapp-logo {
    width:26px !important; height:26px !important;
    display:block; fill:currentColor; stroke:none;
}
.opm-v2 .opm-share-fb .opm-facebook-logo {
    width:14px !important; height:18px !important; color:#fff;
    display:block; fill:currentColor; stroke:none;
}
.opm-v2 .opm-provider-graphic,
.opm-v2 .opm-provider-graphic svg {
    font-variant-ligatures:none;
}

/* Non-translatable social names are text, not the bordered icon capsules. */
.opm-v2 .opm-share-icons .opm-share-brand-name {font-weight:inherit;}

/* 2.6.8: protect manually authored bilingual membership copy from automatic
 * translation, while live EN/AR selector swaps the content without reloading. */
.opm-v2 .opm-i18n { display:inline; unicode-bidi:isolate; }
/* In a full-page cache mismatch, keep the previous language out of view until
 * the live language script corrects it. Without JS the server text still shows. */
html[data-op-language="ar"] .opm-v2 .opm-i18n[lang="en"],
html[data-op-language="en"] .opm-v2 .opm-i18n[lang="ar"] { visibility:hidden; }

/* 2.6.9 — pin desktop art size to viewport width, NOT text/stack height.
 * The previous `cover` expanded the photograph when Arabic/English text took
 * different numbers of lines, making the bottle and member card drift/resize.
 * At the standard 1920px desktop viewport 46.2vw ≈ 887px, matching the
 * previously approved English composition. Text may reflow, artwork will not.
 * Preserve the original mobile (>90% opaque overlay) treatment unmodified. */
@media (min-width: 681px) {
  body.opm-membership-page .opm-v2 .opm-scene,
  body.opm-membership-page .opm-v2 .opm-scene:is(:hover, :focus-within) {
    background-size: auto max(760px, 46.2vw) !important;
    background-position: center top !important;
  }
}

/* Membership 2.6.11: My Benefits wallet, authenticated Google password setup
   email, and Log Out. Original three tiles, points, hero and 10% voucher untouched. */
.opm-v2 .opm-member-links.opm-has-benefits{margin-bottom:8px;}
.opm-v2 .opm-benefits-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin:0 0 9px;padding:10px 14px;background:#f4f6f0;border:1px solid #d7dfcc;border-radius:12px;color:#34462b;text-align:left;font-size:13px;line-height:1.25;font-weight:600;font-family:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;}
.opm-v2 .opm-benefits-trigger:hover{background:#edf2e7;border-color:#b8c9a6;box-shadow:0 4px 10px rgba(47,63,38,.07);}
.opm-v2 .opm-benefits-trigger:focus-visible{outline:2px solid #556e42;outline-offset:2px;}
.opm-v2 .opm-benefits-trigger-title,.opm-v2 .opm-benefits-trigger-meta{display:inline-flex;align-items:center;gap:8px;}
.opm-v2 .opm-benefits-trigger-title svg{width:19px;height:19px;}
.opm-v2 .opm-benefits-trigger-meta{font-size:11px;font-weight:400;color:#748069;}
.opm-v2 .opm-benefits-trigger-meta svg{width:14px;height:14px;}
.opm-v2 .opm-benefits-dialog{width:min(455px,100%);}
.opm-v2 .opm-voucher-wallet{background:#f9f7ee;border:1px solid #ddd8c5;border-radius:18px;padding:18px 16px;text-align:center;}
.opm-v2 .opm-voucher-wallet-kicker{font-size:10px;letter-spacing:.17em;color:#778065;font-weight:600;}
.opm-v2 .opm-voucher-wallet-value{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:10px;color:#2c422a;}
.opm-v2 .opm-voucher-wallet-value b{font-family:Georgia,serif;font-size:31px;letter-spacing:-.04em;line-height:1;}
.opm-v2 .opm-voucher-wallet-value span{font-size:12px;}
.opm-v2 .opm-voucher-wallet-terms{font-size:11px;color:#737d69;margin:8px 0!important;}
.opm-v2 .opm-voucher-wallet-status{display:inline-block;background:#e9eddf;border:1px solid #cfd8c2;border-radius:99px;padding:6px 12px;margin:2px auto 12px;font-size:11px;color:#405b32;}
.opm-v2 .opm-voucher-wallet-code-label{font-size:10px;color:#828678;margin-bottom:5px;}
.opm-v2 .opm-voucher-wallet-code{display:block;word-break:break-all;overflow-wrap:anywhere;font:700 16px/1.35 system-ui,Arial,sans-serif;letter-spacing:.04em;color:#2c4126;background:transparent;padding:0 4px;margin:0 auto 8px;}
.opm-v2 .opm-voucher-wallet-copy{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border-radius:99px;border:1px solid #c5d0bb;background:#fffefa;color:#3d5b31;font-size:11px;cursor:pointer;}
.opm-v2 .opm-voucher-wallet-copy svg{width:15px;height:15px;}
.opm-v2 .opm-voucher-wallet-help{font-size:11px;color:#717a69;line-height:1.5;margin:10px 0 0!important;}
.opm-v2 .opm-wallet-points{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:13px 4px 2px;color:#52664a;font-size:12px;}
.opm-v2 .opm-wallet-points strong{font-size:18px;color:#334a29;}
.opm-v2 .opm-wallet-points small{width:100%;text-align:center;font-size:11px;color:#7d8577;}
.opm-v2 .opm-security-box{padding:15px 0;margin-top:18px;border-top:1px solid #e1e5da;text-align:left;}
.opm-v2 .opm-security-box h3{font:600 14px/1.45 system-ui,Arial,sans-serif;margin:0 0 7px;color:#30432c;}
.opm-v2 .opm-security-box p,.opm-v2 .opm-security-box small{display:block;font-size:11px;line-height:1.55;color:#737e70;margin:0 0 10px;}
.opm-v2 .opm-security-email-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px 12px;margin:5px 0 10px;border:1px solid #bac9b1;border-radius:10px;background:#eff4eb;color:#3a5030;cursor:pointer;font-size:12px;font-weight:600;}
.opm-v2 .opm-security-email-btn svg{width:18px;height:18px;}
.opm-v2 .opm-logout-link{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d7d9cf;border-radius:10px;margin-top:9px;padding:11px 15px;color:#526047!important;background:#f9f8f3;text-decoration:none!important;font-size:12px;font-weight:600;}
.opm-v2 .opm-logout-link:hover{background:#f0f2eb;}
.opm-v2 .opm-logout-link svg{width:16px;height:16px;}
.opm-v2 .opm-benefits-overlay[hidden]{display:none!important;}
@media(max-width:680px){.opm-v2 .opm-benefits-trigger{padding:10px 12px;min-height:42px;}.opm-v2 .opm-benefits-trigger-meta{font-size:10px;}}

/* 2.6.12: image-like member coupon gallery. All data from existing ledger. */
.opm-v2 .opm-benefits-dialog{width:min(580px,100%);max-height:min(88vh,900px);overflow-y:auto;}
.opm-v2 .opm-coupon-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0 13px;padding:4px;background:#f4f2eb;border-radius:12px;}
.opm-v2 .opm-coupon-tabs button{padding:10px 3px;border:0;border-radius:9px;background:transparent;color:#687360;font:600 12px/1.2 inherit;cursor:pointer;}
.opm-v2 .opm-coupon-tabs button[aria-selected=true]{background:#fff;color:#344b2d;box-shadow:0 2px 7px rgba(28,49,26,.1);}
.opm-v2 .opm-coupon-panel[hidden],.opm-v2 .opm-coupon-details[hidden]{display:none!important;}
.opm-v2 .opm-coupon-banner{overflow:hidden;border-radius:17px;border:1px solid #bdad7b;background:#f7f2e4;box-shadow:0 6px 20px rgba(40,62,34,.1)}
.opm-v2 .opm-coupon-face{display:flex;flex-direction:column;width:100%;min-height:205px;padding:16px 19px 0;cursor:pointer;border:0;text-align:left;color:#f9f2da;background:radial-gradient(circle at 85% 40%,rgba(208,192,133,.19),transparent 32%),linear-gradient(116deg,#1d3929,#426244 68%,#74805b);font-family:inherit;position:relative;overflow:hidden;}
.opm-v2 .opm-coupon-face:after{content:'✦';position:absolute;right:26px;top:56px;color:rgba(255,237,184,.19);font:100px/1 Georgia,serif;pointer-events:none;}
.opm-v2 .opm-coupon-face:focus-visible{outline:3px solid #a5b889;outline-offset:-4px;}
.opm-v2 .opm-coupon-top,.opm-v2 .opm-coupon-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;position:relative;z-index:1;}
.opm-v2 .opm-coupon-top{font-size:10px;letter-spacing:.1em;}
.opm-v2 .opm-coupon-top b{font-weight:400;letter-spacing:.02em;}
.opm-v2 .opm-coupon-status{background:#efe1ae;color:#2e422b;padding:5px 9px;border-radius:99px;letter-spacing:0;font-weight:700;}
.opm-v2 .opm-coupon-center{display:flex;align-items:center;gap:16px;position:relative;z-index:1;margin:24px 0 8px;}
.opm-v2 .opm-coupon-main{font:700 clamp(45px,10vw,66px)/.95 Georgia,serif;letter-spacing:-.07em;color:#f4e1a5;text-shadow:0 2px 4px rgba(0,0,0,.13);}
.opm-v2 .opm-coupon-main span{font-size:.6em;vertical-align:top;letter-spacing:0;}
.opm-v2 .opm-coupon-main em{font:700 .38em/1 system-ui,sans-serif;letter-spacing:.08em;font-style:normal;vertical-align:middle;}
.opm-v2 .opm-coupon-ornament{font-size:28px;color:#dfc987;}
.opm-v2 .opm-coupon-subtitle{font-size:12px;font-weight:700;letter-spacing:.12em;position:relative;z-index:1;margin-bottom:15px;}
.opm-v2 .opm-coupon-bottom{margin:0 -19px;margin-top:auto;padding:12px 19px;color:#32482e;background:#f7f1df;font-size:11px;font-weight:600;letter-spacing:0;}
.opm-v2 .opm-coupon-details{padding:16px 17px;color:#3f4d37;font-size:12px;line-height:1.55;}
.opm-v2 .opm-coupon-details p{margin:0 0 9px;}
.opm-v2 .opm-coupon-code-row{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:11px;border:1px dashed #b8c2ad;border-radius:10px;background:#fff;}
.opm-v2 .opm-coupon-code-row code{color:#2e4d2e;font-size:11px;overflow-wrap:anywhere;}
.opm-v2 .opm-coupon-small{color:#778070;font-size:10px;margin-top:10px!important;}
.opm-v2 .opm-coupon-empty{padding:36px 15px;text-align:center;color:#687564;background:#f8f8f4;border:1px dashed #d5dbcd;border-radius:12px;font-size:12px;}
.opm-v2 .opm-coupon-history-card{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#eeeee9;color:#6d7568;border:1px solid #d9ddd3;border-radius:14px;padding:20px 15px;font-size:11px;}
.opm-v2 .opm-coupon-history-card strong{font:700 25px Georgia,serif;}
@media(max-width:620px){.opm-v2 .opm-coupon-face{min-height:185px;padding:14px 13px 0;}.opm-v2 .opm-coupon-bottom{margin:0 -13px;padding:11px 13px;}.opm-v2 .opm-coupon-top{font-size:9px;}.opm-v2 .opm-coupon-bottom{font-size:10px;}}

/* 2.6.13: compact, stackable coupon banners. Colors are scoped to My Benefits only.
   Future offer templates can opt in with opm-coupon-tone--beige/blue/purple/olive. */
.opm-v2 .opm-coupon-banner{border-radius:14px;}
.opm-v2 .opm-coupon-face{min-height:132px;padding:11px 15px 0;}
.opm-v2 .opm-coupon-face:after{font-size:62px;right:20px;top:26px;}
.opm-v2 .opm-coupon-top{font-size:9px;}
.opm-v2 .opm-coupon-status{padding:4px 8px;}
.opm-v2 .opm-coupon-center{margin:8px 0 3px;gap:10px;}
.opm-v2 .opm-coupon-main{font-size:clamp(34px,7vw,48px);line-height:1;}
.opm-v2 .opm-coupon-ornament{font-size:19px;}
.opm-v2 .opm-coupon-subtitle{font-size:10px;margin-bottom:9px;letter-spacing:.10em;}
.opm-v2 .opm-coupon-bottom{margin-left:-15px;margin-right:-15px;padding:8px 15px;font-size:10px;}
/* Optional palettes for future promotions; no additional coupons are generated. */
.opm-v2 .opm-coupon-tone--beige{border-color:#d8c5a5;}
.opm-v2 .opm-coupon-tone--beige .opm-coupon-face{background:linear-gradient(115deg,#f7efde,#e8d8bb);color:#4d4234;}
.opm-v2 .opm-coupon-tone--beige .opm-coupon-main{color:#89724e;text-shadow:none;}
.opm-v2 .opm-coupon-tone--beige .opm-coupon-status{background:#fff7e6;color:#66553a;}
.opm-v2 .opm-coupon-tone--beige .opm-coupon-bottom{background:#fbf5e9;color:#66553a;}
.opm-v2 .opm-coupon-tone--blue{border-color:#b3c8d9;}
.opm-v2 .opm-coupon-tone--blue .opm-coupon-face{background:linear-gradient(115deg,#d8e9f2,#7bacc7);color:#204b63;}
.opm-v2 .opm-coupon-tone--blue .opm-coupon-main{color:#245873;text-shadow:none;}
.opm-v2 .opm-coupon-tone--blue .opm-coupon-status{background:#edf8fc;color:#275c74;}
.opm-v2 .opm-coupon-tone--blue .opm-coupon-bottom{background:#eff7fa;color:#275c74;}
.opm-v2 .opm-coupon-tone--purple{border-color:#c9bdd8;}
.opm-v2 .opm-coupon-tone--purple .opm-coupon-face{background:linear-gradient(115deg,#ece4f5,#a995c3);color:#47345d;}
.opm-v2 .opm-coupon-tone--purple .opm-coupon-main{color:#5b4574;text-shadow:none;}
.opm-v2 .opm-coupon-tone--purple .opm-coupon-status{background:#f5effa;color:#5b4574;}
.opm-v2 .opm-coupon-tone--purple .opm-coupon-bottom{background:#f5f0f9;color:#5b4574;}
@media(max-width:620px){
 .opm-v2 .opm-coupon-face{min-height:118px;padding:10px 12px 0;}
 .opm-v2 .opm-coupon-center{margin:6px 0 2px;}
 .opm-v2 .opm-coupon-main{font-size:36px;}
 .opm-v2 .opm-coupon-subtitle{font-size:9px;margin-bottom:7px;}
 .opm-v2 .opm-coupon-bottom{margin-left:-12px;margin-right:-12px;padding:8px 12px;font-size:9px;}
}


/* Membership 2.6.14: auto soft coupon tones + featured VIP membership card */
.opm-v2 .opm-coupon-stack{display:grid;gap:10px;}
.opm-v2 .opm-benefits-featured{position:sticky;top:0;z-index:4;margin:4px 0 12px;padding:2px 0 4px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.92));backdrop-filter:blur(2px);}
.opm-v2 .opm-coupon-banner--featured{box-shadow:0 10px 24px rgba(73,62,30,.12);}
.opm-v2 .opm-coupon-face--featured{min-height:114px;padding-top:12px;cursor:default;}
.opm-v2 .opm-coupon-face--featured:after{font-size:72px;right:18px;top:18px;opacity:.9;}
.opm-v2 .opm-coupon-main--featured{font-size:clamp(25px,4vw,34px);letter-spacing:-.04em;text-shadow:none;}
.opm-v2 .opm-coupon-face--featured .opm-coupon-subtitle{font-size:12px;letter-spacing:.18em;}
.opm-v2 .opm-coupon-face--featured .opm-coupon-bottom{font-size:10px;}
.opm-v2 .opm-coupon-tone--gold{border-color:#d7c28e;}
.opm-v2 .opm-coupon-tone--gold .opm-coupon-face{background:radial-gradient(circle at 88% 26%,rgba(255,250,226,.65),transparent 25%),linear-gradient(115deg,#fff7dc,#e7d39b 55%,#c8ab66);color:#5c4720;}
.opm-v2 .opm-coupon-tone--gold .opm-coupon-main{color:#6a5223;}
.opm-v2 .opm-coupon-tone--gold .opm-coupon-status{background:#fff7dd;color:#6b5526;}
.opm-v2 .opm-coupon-tone--gold .opm-coupon-bottom{background:#fff8e8;color:#6b5526;}
.opm-v2 .opm-coupon-tone--gold .opm-coupon-ornament,.opm-v2 .opm-coupon-tone--gold .opm-coupon-face:after{color:rgba(141,106,34,.22);}
@media(max-width:620px){
  .opm-v2 .opm-benefits-featured{margin-bottom:10px;}
  .opm-v2 .opm-coupon-face--featured{min-height:102px;padding-top:10px;}
  .opm-v2 .opm-coupon-face--featured .opm-coupon-subtitle{font-size:10px;}
}

/* 2.6.15: Match My Benefits modal to the exact My OLIVE PEOPLE card width.
   Desktop card is 550px; mobile remains within the available page width. */
@media (min-width:681px){
  .opm-v2 .opm-benefits-dialog{width:550px;max-width:100%;}
}
@media (max-width:680px){
  .opm-v2 .opm-benefits-dialog{width:100%;max-width:100%;}
}

/* 2.6.16 account recovery help, no change to the membership modal width */
.opm-v2 .opm-recovery-panel h3{font-size:15px;color:#31452c;margin:10px 0 5px;}
.opm-v2 .opm-recovery-panel p{font-size:12px;color:#67715d;line-height:1.65;margin:0 0 12px;}
.opm-v2 .opm-recovery-reset{display:flex;justify-content:center;align-items:center;text-align:center;text-decoration:none;color:#fff;background:#4a603a;border-radius:10px;margin:12px 0 20px;padding:12px;}
.opm-v2 .opm-provider-email .opm-provider-name{font-size:11px;}

/* 2.6.17: compact sign-up area label without changing existing card/grid sizing */
.opm-v2 .opm-signup-section-heading{text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;margin:6px 0 10px;color:#34472f;}
.opm-v2 .opm-signup-section-heading strong{font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.07em;}
.opm-v2 .opm-signup-section-heading span{font-size:10px;line-height:1.35;font-weight:400;letter-spacing:0;color:#768071;}
@media(max-width:620px){.opm-v2 .opm-signup-section-heading{margin:5px 0 8px;}.opm-v2 .opm-signup-section-heading strong{font-size:11px;}.opm-v2 .opm-signup-section-heading span{font-size:9px;}}

/* 2.6.18 Email signup methods and domain completion */
.opm-v2 .opm-email-methods{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0 16px;padding:4px;border-radius:12px;background:#f0f1e9;}
.opm-v2 .opm-email-methods[hidden]{display:none!important}
.opm-v2 .opm-email-methods button{border:0;border-radius:9px;padding:11px 7px;background:transparent;color:#66725d;cursor:pointer;font:600 13px/1.3 inherit}
.opm-v2 .opm-email-methods button[aria-pressed=true]{background:#fff;color:#324c2c;box-shadow:0 2px 8px rgba(42,65,35,.1)}
.opm-v2 .opm-domain-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:-6px 0 10px;}
.opm-v2 .opm-domain-option{border:1px solid #d8dfce;border-radius:99px;background:#f8faf5;padding:6px 10px;color:#415639;font:500 11px/1.4 Arial,sans-serif;cursor:pointer}
.opm-v2 .opm-domain-option:hover,.opm-v2 .opm-domain-option:focus-visible{background:#eaf0e3;border-color:#a5b79a;}

/* 2.6.20 — directly accessible sign-out below member dashboard. */
.opm-v2 .opm-member-logout-row{display:flex;justify-content:flex-end;margin:7px 2px 0;}
.opm-v2 .opm-member-logout-direct{display:inline-flex;gap:5px;align-items:center;color:#66745d!important;text-decoration:underline!important;text-underline-offset:3px;font-size:11px;font-weight:550;padding:4px 5px;}
.opm-v2 .opm-member-logout-direct:hover{color:#334a2b!important;}
.opm-v2 .opm-member-logout-direct svg{width:12px;height:12px;}
.opm-v2 .opm-member-logout-direct:focus-visible{outline:2px solid #536b42;outline-offset:2px;}

/* 2.6.21: distinct account-recovery prompt and stronger email-login entry. */
.opm-v2 .opm-id-login-intro{font-size:12px;font-weight:600;color:#48583b;text-align:center;margin:9px 0 7px}
.opm-v2 .opm-login-row{font-size:15px;gap:12px;margin-top:15px}
.opm-v2 .opm-login-row button{font-size:16px;font-weight:700;color:#365a2c}
.opm-v2 .opm-duplicate-overlay[hidden]{display:none!important}
.opm-v2 .opm-duplicate-overlay{position:fixed;inset:0;z-index:100020;background:rgba(26,35,25,.57);padding:20px;display:flex;justify-content:center;align-items:center;overflow-y:auto}
.opm-v2 .opm-duplicate-dialog{width:min(415px,100%);background:#fffdfa;border-radius:22px;box-shadow:0 22px 75px #17210d36;padding:31px 29px 27px;box-sizing:border-box;text-align:center;position:relative;color:#303d27}
.opm-v2 .opm-duplicate-close{position:absolute;right:13px;top:12px;background:transparent;border:1px solid #dfe4d9;border-radius:50%;width:30px;height:30px;font-size:23px;line-height:24px;color:#516448;cursor:pointer}
.opm-v2 .opm-duplicate-symbol{display:flex;align-items:center;justify-content:center;background:#e9f0e3;border-radius:50%;color:#48613a;width:41px;height:41px;margin:0 auto 15px;font-size:24px}
.opm-v2 .opm-duplicate-kicker{font-size:9px;font-weight:700;letter-spacing:2px;color:#6e8061}
.opm-v2 .opm-duplicate-dialog h2{font-family:Georgia,serif;font-size:26px;line-height:1.15;margin:10px 0 12px;font-weight:500}
.opm-v2 .opm-duplicate-dialog p{font-size:13px;line-height:1.6;color:#6a7063;margin:0 0 23px}
.opm-v2 .opm-duplicate-primary{display:block;width:100%;border:0;background:#4e623d;color:#fff;padding:13px 12px;border-radius:8px;font-weight:650;font-size:14px;cursor:pointer}
.opm-v2 .opm-duplicate-recover,.opm-v2 .opm-duplicate-id{display:block;margin:18px auto 0;color:#4c653c;font-size:13px;text-decoration:underline;text-underline-offset:3px;background:none;border:0;cursor:pointer}
.opm-v2 .opm-duplicate-id{margin-top:13px}
@media(max-width:680px){.opm-v2 .opm-login-row{font-size:13px}.opm-v2 .opm-login-row button{font-size:14px}.opm-v2 .opm-duplicate-dialog{padding:28px 21px}}

/* 2.6.22 verification note below coupon usage terms */
.opm-v2 .opm-coupon-verify-note{font-size:11px;opacity:.76;line-height:1.5;margin-top:4px;}
