/* Bynzo Service Plan Experience · public previews + admin builder */
.marketing-page .service-plan-section{border-top:1px solid rgba(7,19,24,.11);padding-top:64px}.marketing-page .plan-section-intro{max-width:720px;margin:0 0 30px;color:var(--muted,#617078);font-size:1rem;line-height:1.7}.public-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.public-plan-grid[data-plan-count="1"]{grid-template-columns:minmax(0,760px)}.public-plan-grid[data-plan-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.public-plan-card{position:relative;overflow:hidden;border:1px solid rgba(7,19,24,.13);border-radius:20px;background:rgba(255,255,255,.48);box-shadow:0 20px 50px rgba(10,34,39,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.public-plan-card:hover{transform:translateY(-3px);box-shadow:0 26px 70px rgba(10,34,39,.10);border-color:rgba(0,122,120,.26)}.public-plan-card.is-featured{border-color:rgba(0,126,122,.38);box-shadow:0 28px 70px rgba(0,93,90,.11)}.plan-featured-badge{position:absolute;z-index:2;top:14px;right:14px;padding:7px 10px;border-radius:999px;background:#edf9f7;color:#0a706d;border:1px solid rgba(10,112,109,.18);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.public-plan-visual{height:180px;margin:12px;border-radius:14px;overflow:hidden;background:linear-gradient(145deg,#082832,#0a5559);position:relative}.public-plan-visual img{width:100%;height:100%;object-fit:cover;display:block}.marketing-page .public-plan-visual img[hidden]{display:none!important}.marketing-page .public-plan-visual.is-media-ready img{display:block!important}.plan-visual-fallback{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:white;background:radial-gradient(circle at 82% 12%,rgba(50,208,194,.26),transparent 34%),linear-gradient(145deg,#061a22,#093f43)}.plan-visual-fallback span{font-size:.7rem;letter-spacing:.16em;opacity:.62}.plan-visual-fallback b{font-size:1.08rem;margin-top:5px;max-width:90%}.public-plan-body{display:flex;min-height:315px;flex-direction:column;padding:8px 18px 18px}.public-plan-body>small{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#0f7674}.public-plan-body h3{font-size:1.45rem;letter-spacing:-.035em;margin:7px 0 6px;color:#071318}.public-plan-body>p{color:#5e686e;line-height:1.55;margin:0 0 12px}.public-plan-body ul{list-style:none;padding:10px 0 2px;margin:0;display:grid;gap:9px}.public-plan-body li{display:flex;gap:8px;align-items:flex-start;color:#26363b;font-size:.9rem;line-height:1.4}.public-plan-body li svg{width:18px;height:18px;flex:0 0 18px;stroke:#0d8782;fill:none;stroke-width:2;margin-top:1px}.plan-view-link{margin-top:auto;border-top:1px solid rgba(7,19,24,.09);padding-top:15px;display:flex;align-items:center;justify-content:space-between;color:#071318;font-weight:800;text-decoration:none}.plan-view-link svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.8}.plan-expert-strip{margin-top:28px;border:1px solid rgba(7,19,24,.11);border-radius:16px;padding:15px 18px;display:flex;gap:20px;align-items:center;justify-content:space-between;background:rgba(255,255,255,.34)}.plan-expert-strip div{display:grid;gap:3px}.plan-expert-strip strong{font-size:.95rem}.plan-expert-strip span{font-size:.82rem;color:#667277}
.plan-detail-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr);gap:70px;align-items:center;padding-top:92px;padding-bottom:52px}.plan-detail-copy h1{font-size:clamp(3.2rem,6vw,6rem);line-height:.91;letter-spacing:-.065em;margin:18px 0 16px;max-width:850px}.plan-detail-copy h2{font-size:1.25rem;font-weight:700;color:#0e7875;margin:0 0 12px}.plan-detail-copy>p{font-size:1.12rem;line-height:1.7;color:#536268;max-width:720px}.plan-auth-badge{display:inline-flex;margin-top:18px;padding:8px 12px;border-radius:999px;background:#e9f7f5;color:#0c6e6b;font-size:.78rem;font-weight:800}.plan-detail-visual{min-height:430px;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#071c24,#0b5558);box-shadow:0 28px 75px rgba(4,31,36,.15)}.plan-detail-visual img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block}.plan-detail-fallback{min-height:430px;padding:34px;display:flex;flex-direction:column;justify-content:flex-end;color:white;background:radial-gradient(circle at 78% 14%,rgba(45,211,194,.3),transparent 34%),linear-gradient(150deg,#06151d,#0b4548)}.plan-detail-fallback span{font-size:.72rem;letter-spacing:.18em;color:#69d8d1}.plan-detail-fallback strong{font-size:2.3rem;line-height:1.04;margin:10px 0}.plan-detail-fallback small{opacity:.72}.plan-preview-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:10px}.plan-preview-facts article{border-top:1px solid rgba(7,19,24,.15);padding:20px 0 6px}.plan-preview-facts small{font-size:.68rem;letter-spacing:.14em;color:#0d7975;font-weight:800}.plan-preview-facts h3{font-size:1.05rem;line-height:1.55;font-weight:650;margin:9px 0;color:#203036}.plan-outcomes-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.plan-outcomes-section h2{font-size:clamp(2.4rem,4vw,4.3rem);line-height:.95;letter-spacing:-.055em;margin-top:14px}.plan-outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plan-outcome-grid article{min-height:160px;border:1px solid rgba(7,19,24,.11);border-radius:18px;padding:20px;background:rgba(255,255,255,.38)}.plan-outcome-grid span{font-size:.7rem;letter-spacing:.15em;color:#0e807c;font-weight:800}.plan-outcome-grid p{font-size:1.03rem;line-height:1.5;margin:24px 0 0;color:#1b2b30}.plan-access-block{border-radius:28px;background:#07191f;color:white;padding:54px 58px;display:flex;align-items:center;justify-content:space-between;gap:45px}.plan-access-block .eyebrow{color:#66d5cf}.plan-access-block h2{font-size:clamp(2.4rem,4vw,4rem);line-height:.98;letter-spacing:-.05em;margin:10px 0}.plan-access-block p{color:#b7c7cb;max-width:690px;line-height:1.65}.plan-access-actions{min-width:280px;display:grid;gap:14px}.plan-access-actions>span{font-size:.85rem;color:#b7c7cb;text-align:center}.plan-access-actions a:not(.button){color:white;font-weight:800}.plan-full-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.55fr);gap:54px;align-items:start}.plan-full-main h2{font-size:clamp(2.4rem,4vw,4rem);letter-spacing:-.05em;margin:12px 0 28px}.plan-full-main h3{font-size:1.35rem;margin:42px 0 16px}.full-plan-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full-plan-features>div{border:1px solid rgba(7,19,24,.1);border-radius:14px;padding:14px;display:flex;gap:9px;align-items:flex-start;background:rgba(255,255,255,.35)}.full-plan-features svg{width:18px;height:18px;stroke:#0c817c;fill:none;stroke-width:2}.full-plan-deliverables{display:grid}.full-plan-deliverables>div{display:grid;grid-template-columns:50px 1fr;gap:12px;padding:15px 0;border-top:1px solid rgba(7,19,24,.11)}.full-plan-deliverables span{font-size:.72rem;color:#0b7f7b;font-weight:800;letter-spacing:.12em}.full-plan-deliverables p{margin:0;line-height:1.55}.plan-commercial-panel{position:sticky;top:110px;border-radius:22px;background:#07191f;color:white;padding:28px;box-shadow:0 30px 70px rgba(4,27,32,.13)}.plan-commercial-panel h3{font-size:2rem;margin:12px 0 22px}.plan-commercial-panel dl{display:grid;margin:0 0 24px}.plan-commercial-panel dl div{display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.13);padding:12px 0}.plan-commercial-panel dt{color:#9eb2b7}.plan-commercial-panel dd{margin:0;text-align:right;font-weight:700}.plan-commercial-panel .button{width:100%;justify-content:center}.plan-commercial-panel>small{display:block;color:#aebfc3;line-height:1.5;margin-top:12px}.plan-qty-label{display:grid;gap:7px;margin-bottom:14px;font-size:.78rem;font-weight:800}.plan-qty-label input{height:43px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:white;padding:0 12px}.plan-checkout-status{font-size:.8rem;color:#a9c9c6;min-height:18px;margin-top:10px}.plan-expert-callout{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid rgba(7,19,24,.12)}.plan-expert-callout h2{font-size:2.2rem;margin:8px 0}.plan-expert-callout p{color:#657278}.plan-expert-callout .button-ghost{white-space:nowrap}
/* Admin plan builder */
.package-builder-tools{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding:14px;border-radius:14px;background:#f2f8f7;border:1px solid #d9e9e7}.package-builder-tools button{min-height:40px}.package-builder-preview{grid-column:1/-1;display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px;border:1px solid #dfe9e8;border-radius:14px;background:#fff}.package-builder-preview-media{height:110px;border-radius:11px;overflow:hidden;background:linear-gradient(145deg,#07212a,#0a4c4d);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800}.package-builder-preview-media img{width:100%;height:100%;object-fit:cover}.package-builder-preview-copy small{color:#0a7c77;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.package-builder-preview-copy h4{margin:5px 0;font-size:1.2rem}.package-builder-preview-copy p{margin:0;color:#667275;line-height:1.45}.package-ai-note{font-size:.78rem;color:#5c6d70;align-self:center}.package-grid .package-card.featured{border-color:#41aaa5}.package-card .package-badge{background:#e9f7f5;color:#0a716e}
@media(max-width:1050px){.public-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-detail-hero,.plan-outcomes-section,.plan-full-detail{grid-template-columns:1fr}.plan-detail-visual{min-height:360px}.plan-detail-visual img,.plan-detail-fallback{min-height:360px}.plan-commercial-panel{position:relative;top:auto}.plan-access-block{align-items:flex-start;flex-direction:column}.plan-access-actions{min-width:0;width:100%;max-width:330px}}
@media(max-width:720px){.public-plan-grid,.public-plan-grid[data-plan-count="2"],.plan-preview-facts,.plan-outcome-grid,.full-plan-features{grid-template-columns:1fr}.public-plan-visual{height:190px}.plan-expert-strip,.plan-expert-callout{align-items:flex-start;flex-direction:column}.plan-detail-hero{padding-top:54px;gap:32px}.plan-detail-copy h1{font-size:clamp(2.8rem,14vw,4.7rem)}.plan-detail-visual,.plan-detail-visual img,.plan-detail-fallback{min-height:300px}.plan-access-block{padding:34px 26px}.package-builder-preview{grid-template-columns:1fr}.package-builder-preview-media{height:170px}}


/* v3.9.1 — one plan presentation across guest, Owner/Customer and Admin Service views. */
.workspace-plan-section .workspace-plan-intro{max-width:720px;margin:0 0 26px;color:var(--muted,#617078);font-size:12px;line-height:1.65}
.workspace-plan-grid{margin-top:4px}
.workspace-plan-card{display:flex;flex-direction:column;min-width:0}
.workspace-plan-card .public-plan-body{min-height:390px}
.workspace-plan-card .public-plan-visual img[hidden]{display:none!important}
.workspace-plan-card .public-plan-visual.is-media-ready img{display:block!important}
.workspace-plan-commercial{display:grid;gap:2px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(7,19,24,.09)}
.workspace-plan-commercial strong{font:700 22px Georgia,serif;color:#0c5f5b}
.workspace-plan-commercial small{font-size:10px;color:#6d797c}
.workspace-plan-actions{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;margin-top:11px}
.workspace-plan-actions .primary-btn{width:100%;min-width:0}
.workspace-plan-edit{width:100%;margin-top:8px;text-align:center}
.workspace-plan-check{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;color:#0d8782;font-weight:900}
.workspace-plan-status{position:absolute;z-index:3;top:14px;left:14px;padding:7px 10px;border-radius:999px;background:#fff1eb;color:#9a4325;border:1px solid rgba(154,67,37,.18);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.workspace-plan-card.is-inactive{opacity:.72}
@media(max-width:720px){.workspace-plan-card .public-plan-body{min-height:0}.workspace-plan-actions{grid-template-columns:42px minmax(0,1fr)}}

.workspace-plan-expert .primary-btn{min-height:42px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}

/* v3.9.2 — bounded plan previews + balanced commerce actions. */
.public-plan-grid{align-items:stretch}.public-plan-card{display:flex;flex-direction:column;height:100%;min-height:0}.public-plan-body{flex:1;min-height:338px}.public-plan-body>small{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;min-height:1.05em}.public-plan-body h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.35em;line-height:1.16}.public-plan-body>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.65em}.public-plan-body ul{min-height:150px;align-content:start}.public-plan-body li span:last-child,.public-plan-body li:not(:has(span)){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workspace-plan-card .public-plan-body{min-height:390px}.workspace-plan-purchase-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.workspace-plan-purchase-actions .primary-btn,.workspace-plan-purchase-actions .secondary-btn{width:100%;min-width:0;justify-content:center}.plan-commercial-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.plan-commercial-actions .button{min-width:0}.plan-cart-followup{display:inline-flex;margin-top:8px;color:#79ddd5;font-weight:800;text-decoration:none}.plan-cart-followup:hover{text-decoration:underline}
@media(max-width:720px){.public-plan-body,.workspace-plan-card .public-plan-body{min-height:0}.public-plan-body h3,.public-plan-body>p,.public-plan-body ul{min-height:0}.workspace-plan-purchase-actions,.plan-commercial-actions{grid-template-columns:1fr 1fr}}
.public-plan-body li{max-height:2.8em;overflow:hidden}
.service-card .row-actions .workspace-plan-purchase-actions{flex:1 1 260px}

.plan-detail-visual img[hidden]{display:none!important}.plan-detail-visual.is-media-ready img{display:block!important}.plan-detail-visual [data-public-plan-detail-fallback][hidden]{display:none!important}
/* v3.9.5 — progressive package visuals. The saved image paints immediately over the fallback,
   so a delayed/failed JS initializer cannot leave a valid package thumbnail hidden. */
.public-plan-visual .plan-visual-fallback{position:absolute;inset:0;z-index:0}
.public-plan-visual>img{position:absolute;inset:0;z-index:1}
.plan-detail-visual{position:relative}
.plan-detail-visual .plan-detail-fallback{position:absolute;inset:0;z-index:0;width:100%;height:100%}
.plan-detail-visual>img{position:relative;z-index:1}


/* v3.9.6 — fit uploaded plan artwork without cropping or overflowing.
   The visual frame follows its card width and the full image is letterboxed when needed. */
.public-plan-visual{height:auto;aspect-ratio:16/9;min-height:0;max-width:100%;contain:paint}
.public-plan-visual>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.plan-detail-visual>img{max-width:100%;max-height:100%;object-fit:contain;object-position:center}
@media(max-width:720px){.public-plan-visual{height:auto;aspect-ratio:16/9}}

/* v3.9.7 — natural-ratio public plan thumbnails.
   Once an uploaded image is confirmed loaded, the thumbnail frame adopts the
   image's intrinsic ratio so the complete artwork fills the card without crop
   or artificial letterbox bars. */
.public-plan-visual .plan-visual-fallback[hidden]{display:none!important}
.public-plan-visual.is-media-ready{aspect-ratio:var(--plan-thumb-ratio,16/9);height:auto}
.public-plan-visual.is-media-ready>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;background:transparent}
