/*
 * Theme-unabhängig: 100 % der vom Theme verfügbaren Breite, max. 1450px.
 * Kein 100vw / keine negativen Margins (vermeidet Abschneiden bei overflow-x:hidden).
 */
.wfo-app{
--wfo-layout-gap:clamp(16px, 2.5vw, 30px);
--wfo-sidebar-min:260px;
--wfo-sidebar-max:390px;
width:100%;
max-width:min(1450px, 100%);
min-width:0;
margin-inline:auto;
padding:clamp(20px, 3vw, 35px) clamp(12px, 2vw, 20px);
font-family:var(--wfo-font, inherit);
color:var(--wfo-text, inherit);
background:var(--wfo-bg, transparent);
box-sizing:border-box;
position:relative;
clear:both;
float:none;
overflow-x:clip;
overflow-y:visible;
container-type:inline-size;
container-name:wfo;
}

@supports not (overflow: clip){
.wfo-app{
overflow-x:visible;
}
}

.wfo-app,
.wfo-app .wfo-layout,
.wfo-app .wfo-main,
.wfo-app .wfo-sidebar-column,
.wfo-app .wfo-packages-list,
.wfo-app .wfo-package-item,
.wfo-app .wfo-package-stack,
.wfo-app .wfo-card{
min-width:0;
max-width:100%;
}

.wfo-app img,
.wfo-app video,
.wfo-app svg{
max-width:100%;
height:auto;
}

.wfo-app.wfo-app--wide{
max-width:min(1450px, 100%);
}

/*
 * Deprecated: Klasse wird ignoriert (100vw schneidet bei vielen Themes links ab).
 * Seite icx-denta5.de hatte noch wfo-app--full-bleed im Shortcode.
 */
.wfo-app.wfo-app--full-bleed,
.wfo-app.wfo-app--essentials{
width:100% !important;
max-width:min(1450px, 100%) !important;
min-width:0 !important;
margin-inline:auto !important;
padding-inline:clamp(12px, 2vw, 20px) !important;
}

.wfo-app *{
box-sizing:border-box;
}

.wfo-app h1{
font-size:clamp(26px, 4vw, 34px);
font-weight:700;
margin-bottom:16px;
color:var(--wfo-primary, currentColor);
}

.wfo-intro{
margin:0 0 24px;
padding:16px 20px;
background:#f4f8ff;
border:1px solid #dbe7fb;
border-left:4px solid #0d4fc2;
border-radius:12px;
font-size:15px;
line-height:1.65;
color:#1d2b3a;
}

.wfo-order-banner{
margin:0 0 18px;
padding:14px 18px;
background:#fff4f4;
border:1px solid #f3c2c2;
border-left:4px solid #dc2626;
border-radius:12px;
display:flex;
flex-direction:column;
gap:4px;
}

.wfo-order-banner__title{
font-size:14px;
font-weight:800;
letter-spacing:.03em;
text-transform:uppercase;
color:#b91c1c;
}

.wfo-order-banner__text{
font-size:14px;
line-height:1.55;
color:#7a1f1f;
}

.wfo-order-hint{
margin:0 0 14px;
padding:12px 14px;
background:#fff7f7;
border:1px solid #f0cccc;
border-radius:10px;
font-size:12.5px;
line-height:1.55;
color:#7a1f1f;
}

.wfo-layout__intro{
grid-column:1 / -1;
width:100%;
max-width:none;
box-sizing:border-box;
}

.wfo-intro p{
margin:0 0 10px;
}

.wfo-rich-text p:first-child{
    margin-top:0;
}

.wfo-rich-text p:last-child{
    margin-bottom:0;
}

.wfo-intro p:last-child{
margin-bottom:0;
}

.wfo-app h2{
font-size:20px;
margin-bottom:18px;
color:var(--wfo-primary, #082b66);
}

.wfo-layout{
display:grid;
grid-template-columns:1fr;
gap:var(--wfo-layout-gap);
align-items:start;
width:100%;
}

/* 2 Spalten nur wenn der Shortcode-Bereich breit genug ist (schmale Theme-Spalte = 1 Spalte) */
@container wfo (min-width: 720px){
.wfo-layout:not(.wfo-layout--package-active){
grid-template-columns:minmax(0, 1fr) minmax(min(100%, var(--wfo-sidebar-min)), var(--wfo-sidebar-max));
}
}

.wfo-layout.wfo-layout--package-active{
grid-template-columns:1fr;
}

.wfo-package-item.has-sidebar{
display:grid;
grid-template-columns:1fr;
gap:var(--wfo-layout-gap);
align-items:start;
}

@container wfo (min-width: 720px){
.wfo-package-item.has-sidebar{
grid-template-columns:minmax(0, 1fr) minmax(min(100%, var(--wfo-sidebar-min)), var(--wfo-sidebar-max));
}
}

/* Browser ohne Container Queries: einspaltig (theme-sicher) */
@supports not (container-type: inline-size){
.wfo-layout,
.wfo-layout.wfo-layout--package-active,
.wfo-package-item.has-sidebar{
grid-template-columns:1fr;
}
}

.wfo-package-item.has-sidebar .wfo-package-stack{
min-width:0;
}

.wfo-package-item.has-sidebar .wfo-sidebar-column{
position:sticky;
top:20px;
align-self:start;
}

.wfo-sidebar-column{
min-width:0;
}

.wfo-app--sidebar-below .wfo-layout,
.wfo-app--sidebar-below .wfo-layout:not(.wfo-layout--package-active),
.wfo-app--sidebar-below .wfo-layout.wfo-layout--package-active{
grid-template-columns:1fr;
}

.wfo-app--sidebar-below .wfo-package-item.has-sidebar-below{
display:flex;
flex-direction:column;
gap:var(--wfo-layout-gap);
align-items:stretch;
}

.wfo-app--sidebar-below .wfo-package-item.has-sidebar-below .wfo-package-stack{
width:100%;
min-width:0;
order:1;
}

.wfo-app--sidebar-below .wfo-package-item.has-sidebar-below .wfo-sidebar-column{
position:relative;
top:auto;
width:100%;
max-width:100%;
order:2;
}

.wfo-app--sidebar-below .wfo-package-item.has-sidebar,
.wfo-app--sidebar-below .wfo-package-item.has-sidebar-below{
grid-template-columns:1fr;
}

.wfo-app--sidebar-below .wfo-package-item.has-sidebar .wfo-sidebar-column,
.wfo-app--sidebar-below .wfo-sidebar-column{
position:relative;
top:auto;
max-width:100%;
width:100%;
}

.wfo-app--sidebar-below .wfo-sidebar{
width:100%;
max-width:none;
margin:0;
}

@container wfo (min-width: 720px){
.wfo-app--sidebar-below .wfo-layout:not(.wfo-layout--package-active){
grid-template-columns:1fr;
}
}

.wfo-grid,
.wfo-packages-list,
.wfo-package-item,
.wfo-package-stack{
overflow:visible;
}

.wfo-packages-list{
display:flex;
flex-direction:column;
gap:0;
margin-bottom:30px;
padding:28px 0 12px 28px;
}

.wfo-package-item{
position:relative;
display:flex;
flex-direction:column;
gap:0;
padding:8px 0 52px;
scroll-margin-top:120px;
}

.wfo-package-item:last-child{
padding-bottom:8px;
}

.wfo-package-item:not(:last-child)::after{
content:'';
position:absolute;
left:4%;
right:4%;
bottom:18px;
height:1px;
background:linear-gradient(90deg,transparent 0%,#c5d4ea 18%,#0d4fc2 50%,#c5d4ea 82%,transparent 100%);
opacity:.9;
pointer-events:none;
}

.wfo-package-item:not(:last-child)::before{
content:'';
position:absolute;
left:50%;
bottom:11px;
transform:translateX(-50%);
width:11px;
height:11px;
background:#fff;
border:2px solid #0d4fc2;
border-radius:50%;
box-shadow:0 0 0 5px #fff,0 4px 12px rgba(8,43,102,.12);
z-index:2;
pointer-events:none;
}

.wfo-card{
background:#fff;
border:1px solid #e2e8f0;
border-radius:18px;
padding:18px;
cursor:pointer;
transition:all .2s ease;
box-shadow:0 5px 18px rgba(0,0,0,.04);
}

.wfo-card__head{
margin:0 0 16px;
padding:0 0 14px 88px;
border-bottom:2px solid #e8eef5;
}

.wfo-card__inner--no-media{
grid-template-columns:1fr;
}

.wfo-card__inner--no-media .wfo-card__body{
width:100%;
}

.wfo-package-includes-panel{
margin:0 0 16px;
}

.wfo-panel-includes-list{
margin:0;
padding:0;
list-style:none;
display:flex;
flex-direction:column;
gap:8px;
}

.wfo-panel-includes-list__item{
position:relative;
padding:12px 14px 12px 32px;
background:#f8fbff;
border:1px solid #e5eaf2;
border-radius:10px;
font-size:14px;
line-height:1.5;
color:#1d2b3a;
list-style:none;
}

.wfo-panel-includes-list__item::before{
content:'';
position:absolute;
left:14px;
top:16px;
width:8px;
height:8px;
border-radius:50%;
background:#16a34a;
}

.wfo-panel-includes-list__title{
margin:0 0 10px;
font-size:14px;
font-weight:800;
color:var(--wfo-primary, #082b66);
}

.wfo-panel-includes-list__item-label{
font-weight:600;
}

.wfo-panel-includes-list__item-value{
font-weight:800;
color:#0b7a3b;
}

.wfo-app .wfo-savings-detail__list,
.wfo-app .wfo-savings-detail__list > li,
.wfo-app .wfo-panel-includes-list,
.wfo-app .wfo-panel-includes-list > li{
list-style:none !important;
list-style-type:none !important;
}

.wfo-card__inner{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,2fr);
gap:18px 24px;
align-items:start;
}

.wfo-card__inner:not(.wfo-card__inner--no-media){
align-items:stretch;
}

.wfo-card__media{
position:relative;
min-width:0;
width:100%;
align-self:start;
padding:4px;
background:var(--wfo-surface, #fff);
border:1px solid var(--wfo-border, #dbe7fb);
border-radius:12px;
box-sizing:border-box;
overflow:hidden;
display:flex;
flex-direction:column;
align-items:stretch;
justify-content:flex-end;
}

.wfo-card__inner:not(.wfo-card__inner--no-media) .wfo-card__media{
align-self:stretch;
min-height:100%;
height:100%;
}

.wfo-card__body{
display:flex;
flex-direction:column;
min-width:0;
min-height:100%;
gap:14px;
}

.wfo-package-item .wfo-card.active{
border-radius:18px 18px 0 0;
border-bottom-color:transparent;
margin-bottom:0;
}

.wfo-package-item .wfo-config-panel{
margin:0;
border-top:none;
border-radius:0 0 18px 18px;
}

.wfo-config-panel-slot{
display:none;
}

.wfo-card:hover{
transform:translateY(-1px);
box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.wfo-card.active,
.wfo-line.active{
border:2px solid #0b4dbb;
box-shadow:0 10px 24px rgba(11,77,187,.12);
}

.wfo-card img{
width:100%;
object-fit:contain;
object-position:center;
border-radius:0;
margin:0;
background:transparent;
}

.wfo-card-stats{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:10px;
margin:0 0 12px;
padding:14px 16px;
background:#eef4ff;
border:1px solid #b8cff5;
border-radius:12px;
box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

.wfo-card-stat{
display:grid;
grid-template-rows:1fr auto;
gap:8px;
min-width:0;
min-height:68px;
}

.wfo-card-stat__label{
align-self:end;
font-size:11px;
font-weight:800;
letter-spacing:.05em;
line-height:1.25;
color:var(--wfo-primary, #082b66);
text-transform:uppercase;
}

.wfo-card-stat__value{
font-size:22px;
font-weight:800;
line-height:1;
color:var(--wfo-primary, #082b66);
}

.wfo-card-headline,
.wfo-card h3.wfo-card-headline{
font-size:clamp(18px,2.1vw,24px);
font-weight:800;
letter-spacing:.04em;
line-height:1.2;
margin:0 0 6px;
color:var(--wfo-primary, #082b66);
text-transform:uppercase;
text-align:left;
}

.wfo-card-subline,
.wfo-card p.wfo-card-subline{
font-size:clamp(13px,1.4vw,15px);
font-weight:700;
line-height:1.4;
color:#0b4dbb;
margin:4px 0 0;
padding:8px 12px;
background:#e8f1ff;
border-left:4px solid #0b4dbb;
border-radius:0 8px 8px 0;
text-transform:none;
letter-spacing:.01em;
text-align:left;
}

.wfo-card-pdf-pricing{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
gap:12px 16px;
align-items:flex-start;
margin:0 0 14px;
padding:14px 16px;
background:linear-gradient(135deg,#f8fbff 0%,#eef4ff 100%);
border:1px solid #b8cff5;
border-radius:12px;
}

.wfo-card-pdf-pricing__unit{
display:flex;
flex-direction:column;
gap:4px;
}

.wfo-card-pdf-pricing__rate-label{
font-size:11px;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
color:#64748b;
}

.wfo-card-pdf-pricing__compare{
display:inline-flex;
align-items:baseline;
gap:6px;
font-size:clamp(16px,1.9vw,19px);
font-weight:800;
color:#dc2626;
text-decoration:line-through;
text-decoration-color:#dc2626;
text-decoration-thickness:2px;
text-underline-offset:1px;
letter-spacing:.01em;
}

.wfo-card-pdf-pricing__compare-pre{
font-size:11px;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
color:#dc2626;
text-decoration:none;
}

.wfo-card-pdf-pricing__price{
font-size:clamp(28px,3.2vw,38px);
font-weight:900;
line-height:1.05;
color:var(--wfo-primary, #082b66);
}

.wfo-card-pdf-pricing__example{
display:flex;
flex-direction:column;
gap:4px;
text-align:left;
}

.wfo-card-pdf-pricing__example-title{
font-size:11px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:#0b4dbb;
}

.wfo-card-pdf-pricing__example-qty{
font-size:clamp(14px,1.6vw,17px);
font-weight:700;
line-height:1.3;
color:var(--wfo-primary, #082b66);
}

.wfo-card-pdf-pricing__example-total{
font-size:clamp(20px,2.4vw,26px);
font-weight:800;
line-height:1.2;
color:var(--wfo-primary, #082b66);
}

.wfo-card-pdf-pricing__note{
margin:0;
font-size:13px;
font-weight:600;
line-height:1.4;
color:#475569;
}

@media (max-width:640px){
.wfo-card-pdf-pricing{
grid-template-columns:1fr;
}
.wfo-card-pdf-pricing__example{
text-align:left;
}
}

.wfo-card h3{
font-size:18px;
margin-bottom:8px;
color:var(--wfo-primary, #082b66);
}

.wfo-card p{
font-size:13px;
line-height:1.5;
color:#5c6777;
margin:0;
}

.wfo-lines{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
margin:25px 0 35px;
}

.wfo-line{
background:#fff;
border:1px solid #dfe5ef;
padding:16px;
border-radius:14px;
text-align:center;
cursor:pointer;
font-size:14px;
font-weight:600;
transition:.2s ease;
}

.wfo-options{
background:#fff;
border:1px solid #e2e8f0;
border-radius:18px;
overflow:hidden;
box-shadow:0 5px 18px rgba(0,0,0,.04);
}

.wfo-options label{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 18px;
border-bottom:1px solid #eef2f7;
font-size:14px;
}

.wfo-options label:last-child{
border-bottom:none;
}

.wfo-options span{
font-weight:600;
color:var(--wfo-primary, #082b66);
}

.wfo-sidebar{
background:#f8fafc;
padding:28px;
border-radius:22px;
height:fit-content;
position:relative;
top:auto;
border:1px solid #e2e8f0;
box-shadow:0 8px 24px rgba(0,0,0,.05);
text-align:left;
min-width:0;
max-width:100%;
overflow-x:clip;
}

.wfo-sidebar-highlight{
margin:0 0 20px;
padding:20px 18px 18px;
background:linear-gradient(180deg,#eef4ff 0%,#e3edff 100%);
border:1px solid #b8cff5;
border-radius:16px;
box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 4px 14px rgba(11,77,187,.08);
}

.wfo-sidebar-highlight__title{
margin:0 0 16px;
font-size:clamp(17px,1.9vw,20px);
font-weight:800;
line-height:1.25;
color:var(--wfo-primary, #082b66);
text-align:center;
letter-spacing:.02em;
}

.wfo-sidebar-highlight .wfo-sidebar-selection{
margin-bottom:14px;
}

.wfo-sidebar-highlight .wfo-sidebar-selection:last-child{
margin-bottom:0;
}

.wfo-sidebar-extras,
.wfo-sidebar-implant{
margin:0 0 16px;
font-size:14px;
line-height:1.55;
}

.wfo-sidebar-extras-list{
margin:8px 0 0;
padding:0 0 0 18px;
}

.wfo-sidebar-extras-list li{
margin-bottom:6px;
}

.wfo-sidebar-extras-list strong,
.wfo-sidebar-implant-line strong{
color:var(--wfo-primary, #082b66);
}

.wfo-sidebar-implant-line{
margin:6px 0 0;
}

.wfo-implant-lines-hint{
margin:-6px 0 14px;
font-size:12px;
color:#5c6777;
}

.wfo-implant-lines-table{
border:1px solid #dbe7fb;
border-radius:12px;
overflow:hidden;
background:#fff;
}

.wfo-implant-lines{
width:100%;
border-collapse:separate;
border-spacing:0;
font-size:12px;
background:#fff;
border:none;
border-radius:0;
}

.wfo-implant-lines th,
.wfo-implant-lines td{
padding:10px 8px;
border:1px solid #e3ebf5;
text-align:center;
vertical-align:middle;
}

.wfo-implant-lines thead th{
background:linear-gradient(90deg,var(--wfo-primary, #082b66),#004A99);
background-image:linear-gradient(90deg,var(--wfo-primary, #082b66),#004A99);
color:#fff;
font-size:10px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.03em;
line-height:1.3;
}

.wfo-implant-lines__col-btn{
display:block;
width:100%;
margin:0;
padding:0;
border:0;
background:transparent;
color:inherit;
font:inherit;
font-weight:inherit;
text-transform:inherit;
letter-spacing:inherit;
line-height:inherit;
text-align:center;
cursor:pointer;
-webkit-appearance:none;
appearance:none;
}

.wfo-implant-lines__col-btn:hover{
text-decoration:underline;
}

.wfo-implant-lines__col-btn:focus-visible{
outline:2px solid #fff;
outline-offset:2px;
border-radius:4px;
}

.wfo-implant-lines thead th.is-selected .wfo-implant-lines__col-btn{
color:#004A99;
}

.wfo-implant-lines thead tr:first-child th:first-child{
border-top-left-radius:11px;
}

.wfo-implant-lines thead tr:first-child th:last-child{
border-top-right-radius:11px;
}

.wfo-implant-lines tbody tr:last-child td:first-child{
border-bottom-left-radius:11px;
}

.wfo-implant-lines tbody tr:last-child td:last-child{
border-bottom-right-radius:11px;
}

.wfo-implant-lines__desc-h{
text-align:left;
min-width:120px;
}

.wfo-implant-lines__row-label{
text-align:left;
font-size:13px;
color:var(--wfo-primary, #082b66);
}

.wfo-implant-lines th.is-selected,
.wfo-implant-lines td.is-selected{
background:#eef4ff;
box-shadow:none;
}

.wfo-implant-lines thead th.is-selected{
background:#eef4ff;
background-image:none;
color:#004A99;
border-top:2px solid #0b4dbb;
border-left:2px solid #0b4dbb;
border-right:2px solid #0b4dbb;
border-bottom:1px solid #e3ebf5;
}

.wfo-implant-lines tbody td.is-selected{
border-bottom:2px solid #0b4dbb;
border-left:2px solid #0b4dbb;
border-right:2px solid #0b4dbb;
}

.wfo-implant-lines thead th.is-selected:last-child{
border-top-right-radius:10px;
}

.wfo-implant-lines tbody td.is-selected:last-child{
border-bottom-right-radius:10px;
}

.wfo-implant-lines__calc{
display:block;
color:#5c6777;
font-size:11px;
}

.wfo-implant-lines__total{
display:block;
margin-top:4px;
font-weight:800;
color:var(--wfo-primary, #082b66);
font-size:13px;
}

.wfo-sidebar p{
font-size:14px;
line-height:1.6;
}

.wfo-sidebar-selection{
margin:0 0 20px;
}

.wfo-sidebar-selection__label{
display:block;
font-size:12px;
font-weight:600;
color:#5c6777;
margin-bottom:8px;
letter-spacing:.02em;
}

.wfo-sidebar-selection__package-row{
display:flex;
align-items:flex-start;
justify-content:flex-start;
gap:12px;
text-align:left;
}

.wfo-sidebar-package-badge{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:38px;
height:38px;
padding:0 6px;
border-radius:50%;
background:linear-gradient(135deg,var(--wfo-primary, #082b66),#0d4fc2);
color:#fff;
font-size:15px;
font-weight:700;
line-height:1;
flex-shrink:0;
box-shadow:0 6px 14px rgba(8,43,102,.2);
}

.wfo-sidebar-package-badge[hidden]{
display:none !important;
}

.wfo-sidebar-selection__value--package{
display:block;
flex:1;
min-width:0;
font-size:clamp(18px,2vw,22px);
font-weight:800;
letter-spacing:.05em;
line-height:1.2;
color:var(--wfo-primary, #082b66);
text-transform:uppercase;
text-align:left;
}

.wfo-sidebar-selection__value--line{
display:block;
font-size:clamp(16px,1.8vw,19px);
font-weight:700;
line-height:1.3;
color:#0b4dbb;
text-align:left;
}

.wfo-sidebar-price{
margin:12px 0 18px;
}

.wfo-sidebar-price-summary{
margin:16px 0 18px;
padding:16px 18px;
background:#fff;
border:1px solid #dbe7f5;
border-radius:12px;
box-shadow:0 2px 8px rgba(8,43,102,.04);
}

.wfo-sidebar-price-summary .wfo-sidebar-details__title{
margin-bottom:12px;
}

.wfo-price-summary-list{
margin:0;
padding:8px 0 0;
list-style:none;
border-top:1px solid #edf2f7;
}

.wfo-price-summary-list__row{
display:flex;
justify-content:space-between;
align-items:baseline;
gap:12px 20px;
padding:7px 0;
font-size:14px;
line-height:1.45;
color:#1e293b;
}

.wfo-price-summary-list__row--net{
padding-top:10px;
}

.wfo-price-summary-list__label{
color:#334155;
font-weight:400;
text-align:left;
}

.wfo-price-summary-list__value{
color:#1e293b;
font-weight:400;
white-space:nowrap;
text-align:right;
}

.wfo-price-summary-total{
display:flex;
justify-content:space-between;
align-items:baseline;
gap:12px 20px;
margin-top:12px;
padding-top:12px;
border-top:1px solid #cbd5e1;
}

.wfo-price-summary-total__label{
font-size:15px;
font-weight:700;
color:#1e293b;
}

.wfo-price-summary-total__value{
font-size:15px;
font-weight:700;
color:#1e293b;
white-space:nowrap;
}

.wfo-billing-address{
margin-top:4px;
padding-top:12px;
border-top:1px dashed #dbe7f5;
}

.wfo-billing-address__toggle{
display:flex;
align-items:flex-start;
gap:10px;
font-weight:600;
color:#334155;
cursor:pointer;
}

.wfo-billing-address__fields{
margin-top:12px;
}

.wfo-billing-address__hint{
margin:0 0 12px;
}

.wfo-billing-address__grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:12px 16px;
}

.wfo-billing-address__grid .wfo-form-field--full{
grid-column:1 / -1;
}

@media (max-width:640px){
.wfo-billing-address__grid{
grid-template-columns:1fr;
}
}

#wfo-sidebar-price-value{
display:block;
font-size:28px;
font-weight:700;
color:var(--wfo-primary, #082b66);
margin-top:4px;
}

.wfo-sidebar-details{
margin:16px 0;
padding:14px 16px;
background:#fff;
border:1px solid #dbe7f5;
border-radius:12px;
box-shadow:0 2px 8px rgba(8,43,102,.04);
}

.wfo-sidebar-details__title{
margin:0 0 10px;
font-size:11px;
font-weight:800;
letter-spacing:.08em;
text-transform:uppercase;
color:#64748b;
}

.wfo-sidebar-subline{
margin:0 0 12px;
padding-bottom:12px;
font-size:13px;
line-height:1.5;
color:#0b4dbb;
text-align:left;
border-bottom:1px solid #e8eef5;
}

.wfo-sidebar-subline:empty{
display:none;
margin:0;
padding:0;
border:none;
}

.wfo-sidebar-details-list{
margin:0;
padding:0;
list-style:none;
}

.wfo-sidebar-details-list li{
margin:0;
padding:0;
}

.wfo-sidebar-details-list__row{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:12px 16px;
padding:9px 0;
border-bottom:1px solid #e8eef5;
}

.wfo-sidebar-details-list__row:first-child{
padding-top:0;
}

.wfo-sidebar-details-list__row:last-child{
border-bottom:none;
padding-bottom:0;
}

.wfo-sidebar-details-list__label{
flex:1 1 42%;
min-width:0;
font-size:13px;
font-weight:600;
line-height:1.4;
color:#64748b;
}

.wfo-sidebar-details-list__label::after{
content:':';
}

.wfo-sidebar-details-list__value{
flex:1 1 50%;
min-width:0;
font-size:13px;
font-weight:700;
line-height:1.4;
color:var(--wfo-primary, #082b66);
text-align:right;
word-break:break-word;
overflow-wrap:anywhere;
}

.wfo-sidebar-details-list .wfo-sidebar-note{
display:block;
margin-top:10px;
padding:10px 12px;
font-size:12px;
font-weight:500;
line-height:1.45;
color:#5c6777;
background:#f8fbff;
border-radius:8px;
border:1px solid #e2e8f0;
}

.wfo-sidebar-details-list .wfo-sidebar-note--savings{
font-size:13px;
font-weight:800;
color:#0b7a3b;
background:#ecfdf3;
border-color:#a7e3c0;
}

.wfo-visually-hidden{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}

#wfo-base,
#wfo-total{
font-size:28px;
font-weight:700;
color:var(--wfo-primary, #082b66);
}

.wfo-note{
margin-top:22px;
padding:16px;
background:#eef4ff;
border-radius:14px;
font-size:12px;
line-height:1.7;
color:#324256;
}

.wfo-package-box{
background:#fff;
border:1px solid #dce3ee;
padding:24px;
margin-bottom:22px;
border-radius:16px;
}

.wfo-package-box h3{
margin-top:0;
font-size:18px;
}

.wfo-package-box input,
.wfo-package-box textarea{
width:100%;
margin-bottom:12px;
padding:10px 12px;
border-radius:10px;
border:1px solid #dce3ee;
font-size:13px;
}

.wfo-package-box textarea{
min-height:80px;
}

.wfo-prices{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:12px;
}

.wfo-prices div{
background:#f8fafc;
padding:14px;
border-radius:12px;
}

.wfo-option-box{
display:grid;
grid-template-columns:2fr 1fr auto;
gap:10px;
margin-bottom:12px;
}

.wfo-option-box input{
padding:10px 12px;
border-radius:10px;
border:1px solid #dce3ee;
}

.upload-image{
margin-bottom:14px !important;
}

@media(max-width:980px){

.wfo-layout{
grid-template-columns:1fr;
}

.wfo-lines,
.wfo-prices{
grid-template-columns:1fr;
}

.wfo-sidebar{
position:relative;
top:auto;
}

.wfo-packages-list{
padding:20px 10px 0 max(20px,env(safe-area-inset-left,0px));
}

.wfo-card > .wfo-badge{
top:10px;
left:10px;
min-width:58px;
height:58px;
font-size:28px;
}

.wfo-card__head{
padding-left:76px;
}

}

.wfo-includes{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px;
margin-bottom:30px;
}

.wfo-includes div{
background:#fff;
padding:14px;
border-radius:12px;
border:1px solid #e5eaf2;
font-size:13px;
font-weight:500;
}

.wfo-request-form{
margin-top:24px;
min-width:0;
max-width:100%;
}

.wfo-sidebar .wfo-form-fields,
.wfo-sidebar .wfo-custom-fields,
.wfo-sidebar .wfo-billing-address__grid{
grid-template-columns:1fr;
}

.wfo-sidebar .wfo-form-field--half,
.wfo-sidebar .wfo-custom-field--half{
grid-column:1 / -1;
}

.wfo-form-fields{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:12px 16px;
min-width:0;
max-width:100%;
}

.wfo-form-section-heading{
grid-column:1 / -1;
margin:8px 0 0;
font-size:0.95rem;
font-weight:600;
color:var(--wfo-text, #1a1a1a);
}

.wfo-form-field{
display:flex;
flex-direction:column;
gap:6px;
min-width:0;
}

.wfo-form-field--full{
grid-column:1 / -1;
}

.wfo-form-field--half{
grid-column:span 1;
}

.wfo-form-field__label{
font-size:13px;
font-weight:600;
color:#1a3a6b;
line-height:1.4;
}

.wfo-form-field__check{
display:flex;
align-items:flex-start;
gap:10px;
width:100%;
max-width:100%;
font-size:13px;
font-weight:500;
color:#1d2b3a;
cursor:pointer;
-webkit-tap-highlight-color:transparent;
touch-action:manipulation;
}

.wfo-form-field__check input[type="checkbox"],
.wfo-form-field__check input[type="radio"]{
width:18px;
height:18px;
min-width:18px;
max-width:18px;
margin:2px 0 0;
padding:0;
flex:0 0 18px;
cursor:pointer;
accent-color:var(--wfo-primary, #082b66);
}

.wfo-form-field__check-text{
flex:1 1 auto;
min-width:0;
line-height:1.45;
word-break:break-word;
overflow-wrap:anywhere;
}

.wfo-required-star{
color:#c53030;
font-weight:700;
}

.wfo-request-form input:not([type="checkbox"]):not([type="radio"]),
.wfo-request-form textarea,
.wfo-request-form select,
.wfo-form-field input:not([type="checkbox"]):not([type="radio"]),
.wfo-form-field textarea,
.wfo-form-field select{
width:100%;
max-width:100%;
padding:14px;
border-radius:12px;
border:1px solid #dce3ef;
font-size:13px;
font-family:inherit;
background:#fff;
color:#1d2b3a;
box-sizing:border-box;
}

.wfo-request-form input:focus,
.wfo-request-form textarea:focus,
.wfo-request-form select:focus,
.wfo-form-field input:not([type="checkbox"]):not([type="radio"]):focus,
.wfo-form-field textarea:focus,
.wfo-form-field select:focus{
outline:none;
border-color:#0d4fc2;
box-shadow:0 0 0 3px rgba(13, 79, 194, .15);
}

.wfo-form-field input[type="checkbox"],
.wfo-form-field input[type="radio"]{
width:auto;
max-width:none;
min-width:0;
padding:0;
border:none;
box-shadow:none;
background:transparent;
}

.wfo-form-row{
display:grid;
gap:12px;
}

.wfo-form-row--zip-city{
grid-template-columns:minmax(100px,140px) minmax(0,1fr);
}

.wfo-form-select{
cursor:pointer;
appearance:none;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23082b66' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
background-repeat:no-repeat;
background-position:right 14px center;
padding-right:40px;
}

.wfo-request-form textarea{
min-height:120px;
}

.wfo-form-consents{
margin-top:20px;
padding:16px;
border:1px solid #dce3ef;
border-radius:14px;
background:#f8fafc;
display:flex;
flex-direction:column;
gap:12px;
}

.wfo-form-consents__heading{
margin:0;
font-size:14px;
font-weight:700;
color:#1a3a6b;
}

.wfo-form-consents__check{
display:flex;
align-items:flex-start;
gap:10px;
font-size:13px;
font-weight:500;
color:#1d2b3a;
cursor:pointer;
}

.wfo-form-consents__check input{
width:auto;
margin-top:3px;
flex-shrink:0;
}

.wfo-form-consents__check-text{
line-height:1.5;
}

.wfo-form-consents__check-text a{
color:#0d4fc2;
text-decoration:underline;
}

.wfo-form-consents__check-text a:hover{
color:var(--wfo-primary, #082b66);
}

.wfo-form-consents__info,
.wfo-form-consents__notice{
margin:0;
font-size:12px;
line-height:1.55;
color:#4a5568;
}

.wfo-form-consents__notice{
font-weight:500;
color:#1a3a6b;
}

.wfo-form-turnstile{
margin-top:16px;
min-height:65px;
}

.wfo-request-form .wfo-submit,
.wfo-submit{
display:block;
width:100%;
margin-top:16px;
background:var(--wfo-primary, #082b66);
color:#fff;
border:none;
border-radius:14px;
padding:16px;
font-size:15px;
font-weight:600;
font-family:inherit;
cursor:pointer;
transition:.2s ease;
}

.wfo-submit:hover:not(:disabled){
transform:translateY(-1px);
box-shadow:0 8px 20px rgba(8,43,102,.2);
}

.wfo-submit:disabled,
.wfo-submit[aria-disabled="true"]{
opacity:.5;
cursor:not-allowed;
transform:none;
box-shadow:none;
background:#6b7f9e;
}


.wfo-success{
background:#e8f8ef;
padding:16px;
border-radius:14px;
margin-bottom:20px;
font-size:14px;
font-weight:500;
color:#215732;
}


/* =========================
ADMIN UI
========================= */

.wfo-admin-wrap{
font-family:'Poppins',sans-serif;
}

.wfo-admin-wrap h1,
.wfo-admin-wrap h2,
.wfo-admin-wrap h3{
font-family:'Poppins',sans-serif;
color:var(--wfo-primary, #082b66);
}

.wfo-admin-header{
background:linear-gradient(135deg,var(--wfo-primary, #082b66),#0d4fc2);
padding:34px 40px;
border-radius:24px;
margin:25px 0 35px;
color:#fff;
box-shadow:0 15px 40px rgba(8,43,102,.15);
}

.wfo-admin-header h1{
margin:0;
font-size:34px;
font-weight:700;
color:#fff;
}

.wfo-admin-header p{
margin-top:10px;
font-size:14px;
opacity:.92;
}

.wfo-admin-wrap h2{
margin-top:35px;
margin-bottom:18px;
font-size:22px;
}

.wfo-package-box{
background:#fff;
border:1px solid #e3e8f2;
border-radius:22px;
padding:28px;
margin-bottom:24px;
box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.wfo-package-box h3{
margin-top:0;
font-size:20px;
margin-bottom:18px;
}

.wfo-package-box input,
.wfo-package-box textarea,
.wfo-option-box input,
.wfo-admin-wrap textarea{
border:1px solid #dbe3ef;
border-radius:12px;
padding:12px 14px;
font-size:13px;
font-family:'Poppins',sans-serif;
background:#fff;
transition:.2s ease;
}

.wfo-package-box input:focus,
.wfo-package-box textarea:focus,
.wfo-option-box input:focus{
border-color:#0d4fc2;
box-shadow:0 0 0 3px rgba(13,79,194,.08);
outline:none;
}

.wfo-prices{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:20px;
}

.wfo-prices div{
background:#f8fbff;
padding:18px;
border-radius:16px;
border:1px solid #e7edf7;
}

.wfo-prices strong{
display:block;
margin-bottom:12px;
font-size:14px;
color:var(--wfo-primary, #082b66);
}

.wfo-option-box{
display:grid;
grid-template-columns:2fr 1fr auto;
gap:12px;
align-items:center;
margin-bottom:14px;
background:#fff;
padding:14px;
border-radius:14px;
border:1px solid #e3e8f2;
}

#add-package,
#add-option,
.upload-image{
background:#0d4fc2 !important;
border:none !important;
border-radius:12px !important;
padding:10px 16px !important;
font-weight:600 !important;
font-family:'Poppins',sans-serif !important;
}

.remove-package,
.remove-option{
border-radius:10px !important;
}

.wfo-admin-wrap .button-primary{
background:var(--wfo-primary, #082b66) !important;
border:none !important;
border-radius:14px !important;
padding:10px 24px !important;
font-weight:600 !important;
box-shadow:none !important;
}

.wfo-admin-wrap hr{
border:none;
height:1px;
background:#e5eaf2;
margin:35px 0;
}

@media(max-width:980px){

.wfo-prices{
grid-template-columns:1fr;
}

.wfo-option-box{
grid-template-columns:1fr;
}

.wfo-admin-header{
padding:28px;
}

}


.wfo-required-note{
margin-bottom:14px;
font-size:13px;
color:#6b7280;
font-weight:500;
}

.wfo-request-form input:required,
.wfo-request-form textarea:required,
.wfo-request-form select:required{
border-left:3px solid #0d4fc2;
}

.wfo-request-form input:invalid{
border-color:#d93025;
}

.wfo-request-form input:valid{
border-color:#dce3ef;
}

.wfo-success{
background:#e9f8ef;
border:1px solid #cdeed7;
padding:20px;
border-radius:16px;
margin-bottom:24px;
font-size:14px;
line-height:1.7;
color:#215732;
box-shadow:0 8px 24px rgba(33,87,50,.05);
}

.wfo-error{
background:#fdecea;
border:1px solid #f5c6c6;
padding:20px;
border-radius:16px;
margin-bottom:24px;
font-size:14px;
line-height:1.7;
color:#8a1f17;
}


.wfo-card{
position:relative;
overflow:visible;
}

.wfo-card > .wfo-badge{
position:absolute;
top:12px;
left:12px;
z-index:12;
min-width:64px;
height:64px;
padding:0 12px;
border-radius:999px;
border:4px solid #fff;
background:linear-gradient(135deg,var(--wfo-primary, #082b66),#0d4fc2);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:30px;
font-weight:800;
line-height:1;
letter-spacing:-.02em;
box-shadow:0 10px 28px rgba(8,43,102,.38);
pointer-events:none;
}

.wfo-card__media img{
position:static;
display:block;
width:100%;
height:auto;
max-height:620px;
object-fit:contain;
object-position:bottom center;
background:transparent;
border-radius:8px;
}

.wfo-card__inner:not(.wfo-card__inner--no-media) .wfo-card__media img{
flex:1 1 auto;
min-height:0;
max-height:100%;
height:100%;
width:100%;
object-fit:contain;
object-position:bottom center;
}

.wfo-card > .wfo-savings-badge{
position:absolute;
top:12px;
right:12px;
z-index:13;
width:96px;
height:96px;
padding:6px;
border-radius:999px;
border:4px solid #fff;
color:#fff;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
gap:3px;
line-height:1;
box-shadow:0 10px 28px rgba(8,43,102,.30);
pointer-events:none;
}

.wfo-card > .wfo-savings-badge--green{
background:linear-gradient(135deg,#16a34a,#0b7a3b);
}

.wfo-card > .wfo-savings-badge--red{
background:linear-gradient(135deg,#ef4444,#b91c1c);
}

.wfo-savings-badge__label{
font-size:9px;
font-weight:700;
text-transform:uppercase;
letter-spacing:.04em;
line-height:1.12;
opacity:.96;
}

.wfo-savings-badge__value{
font-size:23px;
font-weight:800;
letter-spacing:-.02em;
}

.wfo-card:has(.wfo-savings-badge) .wfo-card__head{
padding-right:104px;
}

.wfo-savings-detail{
margin:0 0 16px;
display:flex;
flex-direction:column;
gap:14px;
}

.wfo-savings-detail__prices{
display:flex;
flex-direction:column;
gap:6px;
padding:14px 16px;
background:#fff;
border:1px solid #e3e8f2;
border-radius:12px;
}

.wfo-savings-detail__row{
display:flex;
align-items:baseline;
justify-content:space-between;
gap:12px;
}

.wfo-savings-detail__label{
font-size:13px;
font-weight:700;
color:#475569;
}

.wfo-savings-detail__value{
font-weight:800;
color:var(--wfo-primary, #082b66);
text-align:right;
}

.wfo-savings-detail__value--list{
color:#dc2626;
text-decoration:line-through;
text-decoration-color:#dc2626;
text-decoration-thickness:2px;
font-size:15px;
}

.wfo-savings-detail__value--yours{
font-size:20px;
}

.wfo-savings-detail__row--discount{
margin-top:4px;
padding-top:8px;
border-top:1px dashed #e3a3a3;
}

.wfo-savings-detail__row--discount .wfo-savings-detail__label{
color:#b91c1c;
text-transform:uppercase;
letter-spacing:.04em;
}

.wfo-savings-detail__value--discount{
color:#dc2626;
font-size:18px;
}

.wfo-savings-detail__percent{
font-weight:800;
}

.wfo-savings-detail__includes-title{
margin:0 0 8px;
font-size:14px;
font-weight:800;
color:var(--wfo-primary, #082b66);
}

.wfo-savings-detail__list{
margin:0;
padding:0;
list-style:none;
display:flex;
flex-direction:column;
gap:8px;
}

.wfo-savings-detail__list li{
list-style:none;
margin:0;
padding:0;
}

.wfo-savings-detail__item{
position:relative;
padding:10px 12px 10px 30px;
background:#f8fbff;
border:1px solid #e5eaf2;
border-radius:10px;
font-size:13px;
line-height:1.45;
color:#1d2b3a;
list-style:none;
}

.wfo-savings-detail__item::marker{
content:none;
}

.wfo-savings-detail__item::before{
content:'';
position:absolute;
left:12px;
top:14px;
width:8px;
height:8px;
border-radius:50%;
background:#16a34a;
}

.wfo-savings-detail__item-label{
font-weight:600;
}

.wfo-savings-detail__item-value{
font-weight:800;
color:#0b7a3b;
white-space:nowrap;
}

@media (max-width:600px){
.wfo-card > .wfo-savings-badge{
width:76px;
height:76px;
top:10px;
right:10px;
}
.wfo-savings-badge__value{
font-size:18px;
}
.wfo-savings-badge__label{
font-size:8px;
}
.wfo-card:has(.wfo-savings-badge) .wfo-card__head{
padding-right:84px;
}
}


.wfo-services{
background:#fff;
border:1px solid #e3e8f2;
border-radius:20px;
overflow:hidden;
margin-bottom:30px;
box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.wfo-service-row{
display:grid;
grid-template-columns:80px 1fr 100px 100px 120px;
gap:18px;
padding:18px;
align-items:center;
border-bottom:1px solid #eef2f7;
font-size:13px;
}

.wfo-service-header + .wfo-service-row--implant-line{
margin-top:18px;
}

.wfo-service-row--implant-line{
margin:0 0 10px;
padding:12px 16px;
background:#f9fafb;
border:1px solid #e8eef5;
border-left:2px solid #c5d8f0;
border-radius:8px;
box-shadow:none;
}

.wfo-service-row--implant-line .wfo-service-cell__content strong{
font-size:13px;
font-weight:600;
color:#475569;
letter-spacing:0;
}

.wfo-service-row--implant-line .wfo-service-desc--line-name{
display:block;
margin-top:3px;
font-size:12px;
font-weight:600;
line-height:1.35;
color:#0b4dbb;
}

.wfo-service-row--implant-line + .wfo-service-row{
border-top:none;
}

.wfo-service-row:last-child{
border-bottom:none;
}

.wfo-service-header{
background:#eef4ff;
font-weight:800;
font-size:11px;
letter-spacing:.05em;
text-transform:uppercase;
color:var(--wfo-primary, #082b66);
border-bottom:1px solid #d4e3f9;
}

.wfo-service-row input[type="number"]{
width:100%;
padding:10px;
border-radius:10px;
border:1px solid #dbe3ef;
}

.wfo-service-cell__label{
display:none;
}

.wfo-service-cell__content{
min-width:0;
}

.wfo-service-cell--title .wfo-service-cell__content strong{
display:block;
color:var(--wfo-primary, #082b66);
}

.wfo-service-cell--title .wfo-service-desc{
display:block;
margin-top:4px;
}

.wfo-service-cell--unit .wfo-service-cell__content,
.wfo-service-cell--total .wfo-service-cell__content{
font-weight:600;
color:var(--wfo-primary, #082b66);
}

.wfo-service-cell--total .wfo-service-cell__content{
font-size:16px;
font-weight:800;
}

.wfo-config-panel__heading--required .wfo-required-star{
color:#dc2626;
margin-left:4px;
font-weight:800;
}

.wfo-config-panel__section--price-mode{
margin-top:8px;
margin-bottom:28px;
padding:22px 24px 24px;
background:linear-gradient(180deg,#f6f9ff 0%,#eef4ff 100%);
border:2px solid #b8c9e8;
border-radius:18px;
box-shadow:0 10px 28px rgba(8,43,102,.09);
}

.wfo-config-panel__section--price-mode h3{
text-align:center;
font-size:18px;
font-weight:800;
margin-bottom:18px;
letter-spacing:.01em;
}

.wfo-config-panel__section--price-mode.is-invalid{
border-color:#dc2626;
background:linear-gradient(180deg,#fff8f8 0%,#fff1f1 100%);
box-shadow:0 10px 28px rgba(220,38,38,.1);
}

.wfo-config-panel__section--price-mode.is-invalid .wfo-price-toggle label{
border-color:#dc2626;
background:#fff5f5;
}

.wfo-price-mode-error{
margin:10px 0 0;
font-size:13px;
font-weight:600;
color:#dc2626;
}

.wfo-price-mode-error[hidden]{
display:none;
}

.wfo-price-toggle{
display:flex;
gap:16px;
margin-bottom:0;
}

.wfo-price-toggle label{
flex:1;
background:#fff;
border:2px solid #c5d4ea;
padding:18px 20px;
border-radius:14px;
cursor:pointer;
font-size:15px;
font-weight:700;
color:var(--wfo-primary, #082b66);
transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
box-shadow:0 4px 14px rgba(8,43,102,.07);
}

.wfo-config-panel__section--price-mode .wfo-price-toggle label:hover{
border-color:#0d4fc2;
background:#fff;
box-shadow:0 6px 18px rgba(13,79,194,.14);
}

.wfo-price-toggle label.active{
border-color:var(--wfo-primary, #082b66);
background:#fff;
box-shadow:0 8px 22px rgba(13,79,194,.2);
}

.wfo-config-panel__section--price-mode .wfo-price-toggle label.active{
background:linear-gradient(180deg,#fff 0%,#f0f6ff 100%);
}

.wfo-price-toggle input{
margin-right:8px;
}

@media(max-width:980px){

.wfo-service-header{
display:none;
}

.wfo-service-row:not(.wfo-service-header){
display:flex;
flex-direction:column;
gap:12px;
padding:16px 14px;
background:#fff;
}

.wfo-service-header + .wfo-service-row--implant-line{
margin-top:14px;
}

.wfo-service-row--implant-line{
background:#f9fafb;
border:1px solid #e8eef5;
border-left:2px solid #c5d8f0;
box-shadow:none;
}

.wfo-service-cell{
display:grid;
grid-template-columns:minmax(96px,38%) minmax(0,1fr);
gap:8px 12px;
align-items:center;
}

.wfo-service-cell__label{
display:block;
font-size:11px;
font-weight:800;
letter-spacing:.05em;
text-transform:uppercase;
color:#64748b;
line-height:1.25;
}

.wfo-service-cell--title{
grid-template-columns:1fr;
align-items:start;
}

.wfo-service-cell--title .wfo-service-cell__label{
margin-bottom:2px;
}

.wfo-service-cell--check{
grid-template-columns:minmax(96px,38%) auto;
}

.wfo-price-toggle{
flex-direction:column;
}

}

@media(min-width:981px){
.wfo-service-row:not(.wfo-service-header){
display:grid;
grid-template-columns:80px 1fr 100px 100px 120px;
gap:18px;
align-items:center;
padding:18px;
}

.wfo-service-row:not(.wfo-service-header) .wfo-service-cell{
display:block;
min-width:0;
}

.wfo-service-row:not(.wfo-service-header) .wfo-service-cell__label{
display:none;
}

.wfo-service-header{
display:grid;
}
}


.wfo-line-prices{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:16px;
margin-bottom:0;
}

.wfo-line-price-btn{
position:relative;
background:linear-gradient(135deg,var(--wfo-primary, #082b66),#0d4fc2);
color:#fff;
padding:18px 44px 18px 18px;
border-radius:16px;
text-align:center;
box-shadow:0 8px 20px rgba(8,43,102,.14);
border:2px solid transparent;
cursor:pointer;
transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
font:inherit;
width:100%;
}

.wfo-line-price-btn:hover{
transform:translateY(-2px);
box-shadow:0 12px 26px rgba(8,43,102,.22);
}

.wfo-line-price-btn.active{
border-color:#fff;
background:linear-gradient(135deg,#0a3d8f,#1a6ae8);
box-shadow:0 0 0 4px #7eb6ff, 0 14px 28px rgba(8,43,102,.28);
transform:translateY(-2px);
}

.wfo-line-price-btn.active::after{
content:"✓";
position:absolute;
top:10px;
right:10px;
width:30px;
height:30px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:#fff;
color:#0b4dbb;
font-size:17px;
font-weight:800;
line-height:1;
box-shadow:0 2px 10px rgba(0,0,0,.18);
pointer-events:none;
}

.wfo-line-price-btn strong{
display:block;
font-size:15px;
margin-bottom:8px;
font-weight:600;
}

.wfo-line-price-btn span{
font-size:22px;
font-weight:700;
}

.wfo-config-panel{
background:#fff;
border:2px solid #0b4dbb;
border-radius:20px;
padding:24px;
margin:0 0 14px;
box-shadow:0 12px 32px rgba(11,77,187,.12);
scroll-margin-top:24px;
}

.wfo-config-panel[hidden]{
display:none !important;
}

.wfo-config-panel__custom-hint{
margin:0 0 20px;
padding:14px 16px;
background:#eef4ff;
border:1px solid #dbe7fb;
border-radius:12px;
font-size:13px;
line-height:1.55;
color:var(--wfo-primary, #082b66);
}

.wfo-card--custom.active{
border-color:#0b4dbb;
}

.wfo-config-panel__header{
display:flex;
align-items:flex-start;
gap:16px;
margin-bottom:24px;
padding-bottom:20px;
border-bottom:1px solid #e8eef5;
}

.wfo-config-panel__badge{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:42px;
height:42px;
border-radius:50%;
background:linear-gradient(135deg,var(--wfo-primary, #082b66),#0d4fc2);
color:#fff;
font-weight:700;
font-size:18px;
flex-shrink:0;
}

.wfo-config-panel__title{
font-size:22px;
margin:0 0 6px;
color:var(--wfo-primary, #082b66);
}

.wfo-config-panel__desc{
margin:0;
font-size:14px;
color:#5c6777;
}

.wfo-config-panel__section{
margin-bottom:24px;
}

.wfo-config-panel__section h3{
font-size:17px;
margin:0 0 14px;
color:var(--wfo-primary, #082b66);
}

.wfo-config-panel__section--row .wfo-price-toggle{
margin-top:0;
}

.wfo-service-row small{
display:block;
margin-top:6px;
line-height:1.5;
color:#6b7280;
}

@media(max-width:980px){

.wfo-line-prices{
grid-template-columns:1fr;
}

}


/* V23 TRUE DYNAMIC */

.wfo-accordion-toggle{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
width:100%;
margin-top:auto;
padding:16px 18px;
border:none;
border-radius:var(--wfo-btn-radius, 12px);
font-weight:700;
font-size:15px;
letter-spacing:.01em;
cursor:pointer;
background:var(--wfo-accordion-bg, #1e293b);
color:var(--wfo-accordion-text, #fff);
box-shadow:0 4px 14px color-mix(in srgb, var(--wfo-accordion-bg, #1e293b) 35%, transparent);
transition:background .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
}

.wfo-accordion-toggle__label{
flex:1 1 auto;
text-align:left;
line-height:1.35;
}

.wfo-accordion-toggle__icon{
flex:0 0 auto;
width:0;
height:0;
border-left:7px solid transparent;
border-right:7px solid transparent;
border-top:8px solid currentColor;
transition:transform .22s ease;
opacity:.92;
}

.wfo-accordion-toggle:hover{
background:color-mix(in srgb, var(--wfo-accordion-bg, #1e293b) 88%, #fff);
transform:translateY(-1px);
}

.wfo-card.is-open .wfo-accordion-toggle{
background:var(--wfo-accordion-bg-open, #0f172a);
color:var(--wfo-accordion-text-open, #fff);
box-shadow:0 6px 18px color-mix(in srgb, var(--wfo-accordion-bg-open, #0f172a) 40%, transparent);
}

.wfo-card.is-open .wfo-accordion-toggle__icon{
transform:rotate(180deg);
}

.wfo-package-notes{
margin:14px 0 0;
padding:12px 14px 10px;
background:#f8fbff;
border:1px solid #dbe7f5;
border-radius:10px;
}

.wfo-package-note{
margin:0 0 8px;
font-size:13px;
line-height:1.55;
color:#0b4dbb;
}

.wfo-package-note:last-child{
margin-bottom:0;
}

.wfo-services-empty{
background:#fff;
border:1px solid #e3e8f2;
border-radius:16px;
padding:18px 20px;
margin-bottom:28px;
font-size:13px;
color:#5c6777;
}

.wfo-service-admin-row{
background:#f8fbff;
border:1px solid #e7edf7;
border-radius:14px;
padding:16px;
margin-bottom:14px;
}

.wfo-service-admin-row input,
.wfo-service-admin-row textarea{
width:100%;
margin-bottom:10px;
}

.wfo-service-admin-row label{
display:inline-block;
margin-right:14px;
font-size:12px;
}

.wfo-service-item{
display:flex;
justify-content:space-between;
align-items:center;
padding:12px;
border:1px solid #e7edf5;
border-radius:12px;
margin-bottom:10px;
background:#fff;
}

.wfo-service-left{
display:flex;
gap:12px;
align-items:flex-start;
}

.wfo-service-right{
font-weight:600;
color:var(--wfo-primary, #082b66);
}

@media(max-width:860px){
.wfo-app{
padding:24px 12px;
}

.wfo-app h1{
font-size:26px;
margin-bottom:12px;
}

.wfo-intro{
margin-bottom:20px;
padding:14px 16px;
font-size:14px;
color:#1d2b3a;
}

.wfo-app h2{
font-size:17px;
}

.wfo-card{
padding:16px 14px 14px 20px;
}

.wfo-packages-list{
padding:24px 8px 8px max(18px,env(safe-area-inset-left,0px));
}

.wfo-package-item{
padding-bottom:44px;
}

.wfo-package-item:not(:last-child)::after{
left:2%;
right:2%;
bottom:14px;
}

.wfo-package-item:not(:last-child)::before{
bottom:8px;
width:9px;
height:9px;
}

.wfo-card > .wfo-badge{
top:10px;
left:10px;
min-width:54px;
height:54px;
padding:0 10px;
font-size:26px;
border-width:3px;
box-shadow:0 8px 22px rgba(8,43,102,.34);
}

.wfo-card__head{
margin-bottom:12px;
padding-bottom:12px;
padding-left:72px;
}

.wfo-card-headline,
.wfo-card h3.wfo-card-headline{
font-size:20px;
}

.wfo-card-subline,
.wfo-card p.wfo-card-subline{
font-size:12px;
padding:8px 10px;
word-break:break-word;
}

.wfo-card__inner{
grid-template-columns:1fr;
gap:16px;
}

.wfo-card__media{
width:100%;
max-width:100%;
margin:0 auto;
}

.wfo-card__body{
width:100%;
min-width:0;
}

.wfo-card-pdf-pricing{
grid-template-columns:1fr;
gap:12px;
}

.wfo-card-pdf-pricing__example{
text-align:left;
}

.wfo-card-pdf-pricing__unit,
.wfo-card-pdf-pricing__example{
width:100%;
max-width:100%;
}

.wfo-sidebar-extras-list{
padding-left:22px;
}

.wfo-sidebar-extras-list li{
padding-left:4px;
margin-bottom:8px;
}

.wfo-card-stats{
grid-template-columns:1fr;
gap:0;
padding:12px 14px;
}

.wfo-card-stat{
display:grid;
grid-template-columns:minmax(0,1fr) auto;
grid-template-rows:auto;
gap:8px 14px;
min-height:0;
padding:10px 0;
border-bottom:1px solid #d4e3f9;
}

.wfo-card-stat:last-child{
border-bottom:none;
padding-bottom:0;
}

.wfo-card-stat:first-child{
padding-top:0;
}

.wfo-card-stat__label{
align-self:center;
font-size:11px;
letter-spacing:.03em;
line-height:1.3;
word-break:break-word;
hyphens:auto;
}

.wfo-card-stat__value{
font-size:22px;
text-align:left;
white-space:nowrap;
}

.wfo-accordion-toggle{
font-size:14px;
padding:12px 14px;
}

.wfo-config-panel{
padding:16px 14px;
}

.wfo-config-panel__section h3{
font-size:16px;
}

.wfo-line-price-btn{
padding:16px 42px 16px 16px;
}

.wfo-line-price-btn strong{
font-size:14px;
}

.wfo-line-price-btn span{
font-size:20px;
}

.wfo-config-panel__section--price-mode{
padding:16px 14px 18px;
}

.wfo-config-panel__section--price-mode h3{
font-size:16px;
margin-bottom:14px;
}

.wfo-price-toggle label{
font-size:13px;
padding:14px;
}

.wfo-includes{
grid-template-columns:1fr;
}

.wfo-implant-lines-table{
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}

.wfo-implant-lines{
font-size:10px;
min-width:520px;
}

.wfo-implant-lines th,
.wfo-implant-lines td{
padding:8px 6px;
}

.wfo-services{
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}

.wfo-service-row{
min-width:0;
padding:14px 12px;
}

.wfo-sidebar-details-list__value{
white-space:normal;
}

}

@media(max-width:768px){
.wfo-app{
padding:20px max(10px,env(safe-area-inset-right,0px)) 24px max(10px,env(safe-area-inset-left,0px));
}

.wfo-packages-list{
padding:22px 4px 8px max(16px,env(safe-area-inset-left,0px));
}

.wfo-package-item{
padding-bottom:40px;
}

.wfo-card{
padding:18px 12px 12px 18px;
}

.wfo-card > .wfo-badge{
top:8px;
left:8px;
min-width:50px;
height:50px;
padding:0 8px;
font-size:24px;
border-width:3px;
}

.wfo-card__head{
padding-left:64px;
}

.wfo-package-item.has-sidebar{
grid-template-columns:1fr;
}

.wfo-package-item.has-sidebar .wfo-sidebar-column{
position:relative;
top:auto;
}

.wfo-card__media img{
position:static;
width:100%;
height:auto;
max-height:480px;
object-fit:contain;
}

.wfo-service-item{
flex-direction:column;
align-items:flex-start;
gap:8px;
}
}

@media(max-width:480px){
.wfo-packages-list{
padding:20px 8px 0 max(14px,env(safe-area-inset-left,0px));
}

.wfo-card{
padding:16px 10px 10px 16px;
}

.wfo-card > .wfo-badge{
top:8px;
left:8px;
min-width:46px;
height:46px;
padding:0 7px;
font-size:22px;
border-width:2px;
box-shadow:0 6px 18px rgba(8,43,102,.32);
}

.wfo-card-headline,
.wfo-card h3.wfo-card-headline{
font-size:18px;
}
}

.wfo-custom-fields{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px 16px;
margin-top:8px;
}

.wfo-custom-field{
display:flex;
flex-direction:column;
gap:6px;
}

.wfo-custom-field--full{
grid-column:1 / -1;
}

.wfo-custom-field label{
font-size:13px;
font-weight:600;
color:#1a3a6b;
}

.wfo-custom-field input,
.wfo-custom-field textarea,
.wfo-custom-field select{
width:100%;
padding:10px 12px;
border:1px solid #c5d4ea;
border-radius:8px;
font:inherit;
background:#fff;
}

.wfo-custom-field__check{
display:flex;
align-items:flex-start;
gap:8px;
font-weight:500;
}

.wfo-sidebar-custom-fields{
margin:16px 0;
padding-top:12px;
border-top:1px solid #dbe6f5;
}

.wfo-sidebar-custom-fields__title{
margin:0 0 10px;
font-size:15px;
color:#1a3a6b;
}

.wfo-request-form .wfo-custom-fields{
margin-bottom:12px;
}

@media(max-width:640px){
.wfo-custom-fields{
grid-template-columns:1fr;
}

.wfo-form-fields{
grid-template-columns:1fr;
}

.wfo-form-field--half{
grid-column:1 / -1;
}

.wfo-sidebar{
padding:18px 14px;
border-radius:16px;
}

.wfo-sidebar-highlight{
padding:16px 14px;
margin-bottom:16px;
}

.wfo-sidebar-details,
.wfo-sidebar-price-summary{
padding:12px 14px;
}

.wfo-price-summary-list__row,
.wfo-price-summary-total{
flex-wrap:wrap;
align-items:flex-start;
}

.wfo-price-summary-list__label,
.wfo-price-summary-total__label{
flex:1 1 55%;
min-width:0;
}

.wfo-price-summary-list__value,
.wfo-price-summary-total__value{
flex:1 1 40%;
white-space:normal;
word-break:break-word;
overflow-wrap:anywhere;
text-align:right;
max-width:100%;
}

.wfo-sidebar-details-list__row{
flex-wrap:wrap;
}

.wfo-sidebar-details-list__value{
text-align:left;
}

.wfo-billing-address__toggle{
align-items:flex-start;
min-height:44px;
padding:6px 0;
}

.wfo-request-form input:not([type="checkbox"]):not([type="radio"]),
.wfo-request-form select,
.wfo-request-form textarea,
.wfo-form-field input:not([type="checkbox"]):not([type="radio"]),
.wfo-form-field select,
.wfo-form-field textarea{
font-size:16px;
}

.wfo-form-turnstile{
max-width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}

.wfo-form-turnstile iframe{
max-width:100%;
}
}
