/* Connected to the existing ap-extra typography and color system. */
.apb-public-calculator{width:100%;max-width:100%;scroll-margin-top:120px;}
.apb-public-calculator .ap-extra-pricelist__head{margin-bottom:28px;}
.apb-public-calculator .ap-extra-pricelist__title{overflow-wrap:anywhere;}
.apb-public-calculator .apb-calculator-panel{border:1px solid rgba(255,255,255,.18);border-radius:8px;overflow:hidden;background:rgba(0,0,0,.16);}
.apb-public-calculator .apb-calculator-panel>summary{padding:20px 24px;cursor:pointer;font-weight:600;list-style-position:inside;}
.apb-public-calculator .apb-calculator-content{padding:8px 24px 26px;}
.apb-public-calculator label.apb-calc-package-label,.apb-public-calculator label.apb-calc-timeband-label{display:flex;flex-direction:column;gap:10px;margin:10px 0 18px;font:inherit;}
.apb-public-calculator [hidden]{display:none!important;}
.apb-public-calculator select{width:100%;max-width:100%;min-height:48px;padding:10px 14px;background:#161616;color:#fff;border:1px solid #666;border-radius:4px;font:inherit;text-transform:none;}
.apb-public-calculator select option{background:#161616;color:#fff;}
.apb-public-calculator .apb-calc-help{font-size:.9em;line-height:1.6;margin:16px 0 22px;}
.apb-public-calculator .apb-calc-group{transition:opacity .15s;}
.apb-public-calculator .apb-calc-group.is-unavailable{opacity:.4;}
.apb-public-calculator .apb-calc-group h3{color:var(--ap-accent,#e32323);font-size:1.25em;line-height:1.4;margin:28px 0 10px;text-transform:uppercase;letter-spacing:.03em;}
.apb-public-calculator .apb-calc-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(135px,auto) 142px;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15);}
.apb-public-calculator .apb-calc-item-label{display:flex;align-items:flex-start;gap:13px;margin:0;cursor:pointer;min-width:0;}
.apb-public-calculator .apb-calc-check{appearance:auto;width:20px;height:20px;flex:0 0 20px;accent-color:#e32323;margin:3px 0 0;}
.apb-public-calculator .ap-extra-row__title,.apb-public-calculator .ap-extra-row__description{display:block;}
.apb-public-calculator .ap-extra-row__description{margin-top:5px;}
.apb-public-calculator .apb-calc-row .ap-extra-row__price{min-width:0;text-align:right;display:flex;flex-direction:column;gap:4px;}
.apb-public-calculator .apb-calc-row .ap-extra-row__price strong{font-size:1em;white-space:normal;}
.apb-public-calculator .apb-calc-row .ap-extra-row__price span{font-size:.78em;line-height:1.5;}
.apb-public-calculator .apb-calc-quantity{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:3px;}
.apb-public-calculator .apb-calc-quantity button{padding:0;width:42px;min-width:0;height:44px;line-height:1;border:1px solid #777;border-radius:4px;background:transparent;color:inherit;font-size:22px;cursor:pointer;}
.apb-public-calculator .apb-calc-qty{width:100%;min-width:0;height:44px;margin:0;padding:0 2px;text-align:center;appearance:textfield;border:1px solid #777;border-radius:4px;background:transparent;color:inherit;font:inherit;}
.apb-public-calculator .apb-calc-qty::-webkit-inner-spin-button,.apb-public-calculator .apb-calc-qty::-webkit-outer-spin-button{appearance:none;margin:0;}
.apb-public-calculator button:disabled,.apb-public-calculator input:disabled{opacity:.4;cursor:not-allowed;}
.apb-public-calculator :focus-visible{outline:2px solid #e32323;outline-offset:4px;}
.apb-public-calculator .apb-calc-summary{margin-top:26px;padding-top:24px;border-top:2px solid #e32323;}
.apb-public-calculator .apb-calc-summary>div{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;}
.apb-public-calculator .apb-calc-total{font-size:1.6em;line-height:1.3;font-variant-numeric:tabular-nums;}
.apb-public-calculator .apb-calc-tax{font-size:.8em;opacity:.75;}
.apb-public-calculator .apb-calc-status{font-size:.85em;line-height:1.6;margin:12px 0 22px;}
.apb-public-calculator .apb-calc-cta{display:inline-block;max-width:100%;box-sizing:border-box;padding:14px 22px;border:1px solid #e32323;color:inherit;font-size:.85em;letter-spacing:.04em;text-align:center;line-height:1.6;text-decoration:none;}
.apb-public-calculator .apb-calc-cta:hover{background:#e32323;color:#fff;}
.apb-public-calculator .apb-calc-cta[aria-disabled=true]{opacity:.4;cursor:not-allowed;}
.apb-public-calculator>.ap-extra-pricelist__inner>.ap-price-category-back{display:inline-block;margin-top:24px;}
@media(max-width:900px){.apb-public-calculator .apb-calc-row{grid-template-columns:minmax(0,1fr) 150px;gap:12px;}.apb-public-calculator .apb-calc-quantity{grid-column:2;}.apb-public-calculator .apb-calc-item-label{grid-row:span 2;}}
@media(max-width:540px){.apb-public-calculator .apb-calculator-content{padding:4px 14px 20px;}.apb-public-calculator .apb-calculator-panel>summary{padding:18px 14px;}.apb-public-calculator .apb-calc-row{grid-template-columns:minmax(0,1fr) 142px;}.apb-public-calculator .apb-calc-item-label{grid-column:1/-1;grid-row:auto;}.apb-public-calculator .apb-calc-row .ap-extra-row__price{text-align:left;padding-left:33px;}.apb-public-calculator .apb-calc-quantity{grid-column:auto;}.apb-public-calculator .apb-calc-cta{width:100%;padding:14px 10px;}.apb-public-calculator .apb-calc-tax{flex-basis:100%;}}
@media(prefers-reduced-motion:reduce){.apb-public-calculator .apb-calc-group{transition:none;}}

/* Calculator follows the existing pricing container and shared card appearance.
   The former extras module's viewport bleed must not move it outside this grid. */
.ap-extra-pricelist.apb-public-calculator{width:100%!important;max-width:100%;margin:36px auto!important;background:transparent!important;padding:20px 0 30px;overflow:visible;}
.apb-public-calculator>.ap-extra-pricelist__inner{width:100%!important;max-width:var(--ap-pricing-max-width,1420px)!important;margin:0 auto!important;}
.apb-public-calculator .ap-extra-pricelist__head{text-align:center;margin:0 auto 32px;}
.apb-public-calculator .apb-calculator-panel{border:var(--ap-price-comparison-border-width,1px) solid var(--ap-price-comparison-border-color,#e32323);border-radius:var(--ap-price-comparison-radius,12px);background:var(--ap-price-comparison-background,rgba(0,0,0,.4));box-shadow:var(--ap-price-comparison-shadow,0 0 12px rgba(255,31,31,.52),0 0 30px rgba(255,31,31,.24));overflow:visible;}
.apb-public-calculator .apb-calculator-content{padding:32px clamp(18px,3vw,40px);}
.apb-public-calculator label.apb-calc-package-label,.apb-public-calculator label.apb-calc-timeband-label{width:min(100%,560px);margin:0 auto 22px;text-align:center;}
.apb-public-calculator .apb-calc-selected,.apb-public-calculator .apb-calc-help{text-align:center;margin:16px auto;max-width:780px;}
.apb-public-calculator .apb-calc-selected{font-weight:600;}
.apb-public-calculator .apb-calc-top-actions{text-align:center;margin:20px 0 30px;}
.apb-public-calculator .apb-calc-accordion{margin:18px 0;border:1px solid var(--ap-price-comparison-border-color,#e32323);border-radius:var(--ap-price-comparison-radius,10px);padding:0;}
.apb-public-calculator .apb-calc-accordion>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:20px 24px;color:var(--ap-price-comparison-kicker-color,#e32323);font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1.5;}
.apb-public-calculator .apb-calc-accordion>summary::-webkit-details-marker{display:none;}
.apb-public-calculator .apb-calc-accordion-icon{font-size:24px;line-height:1;transition:transform .2s;}
.apb-public-calculator .apb-calc-accordion[open]>summary .apb-calc-accordion-icon{transform:rotate(45deg);}
.apb-public-calculator .apb-calc-group-items{padding:0 24px 12px;}
.apb-public-calculator .apb-calc-summary{text-align:center;}
.apb-public-calculator .apb-calc-summary>div{justify-content:center;}
.apb-public-calculator .apb-calc-bottom-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:20px 0 0;}
.apb-public-calculator .apb-calc-status{margin-left:auto;margin-right:auto;max-width:780px;}
.apb-public-calculator>.ap-extra-pricelist__inner>.ap-price-category-back{display:block;width:max-content;max-width:100%;margin:30px auto 0;text-align:center;}
textarea[name="contact_message"]{box-sizing:border-box;}
@media(max-width:540px){.apb-public-calculator .apb-calculator-content{padding:24px 16px;}.apb-public-calculator .apb-calc-accordion>summary{padding:18px 14px;font-size:14px;}.apb-public-calculator .apb-calc-group-items{padding:0 12px 10px;}.apb-public-calculator .apb-calc-bottom-actions{flex-direction:column;}.apb-public-calculator .apb-calc-cta{width:auto;}.apb-public-calculator .apb-calc-bottom-actions .apb-calc-cta{width:100%;}}

/* Appearance stays connected to Unification; these rules only place the controls. */
.apb-public-calculator .apb-calculator-panel{box-shadow:var(--egyseg-2-4-44-1,var(--ap-price-comparison-shadow))!important;}
.apb-public-calculator select.apb-calc-package,.apb-public-calculator select.apb-calc-timeband{border-color:var(--ap-price-button-border-color,#ff1f1f);border-radius:var(--ap-price-button-radius,9px);text-align:center;text-align-last:center;}
.apb-public-calculator select option{text-align:center;}
.apb-public-calculator a.apb-calc-cta.final-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ap-price-button-gap,18px);min-height:var(--ap-price-button-min-height,54px);padding:var(--ap-price-button-padding,13px 18px);border-width:var(--ap-price-button-border-width,1px);border-style:var(--ap-price-button-border-style,solid);border-color:var(--ap-price-button-border-color,#ff1f1f);border-radius:var(--ap-price-button-radius,9px);background:var(--ap-price-button-background,transparent);color:var(--ap-price-button-color,#fff);font-family:var(--ap-price-button-font-family,inherit);font-size:var(--ap-price-button-size,16px);font-weight:var(--ap-price-button-weight,500);line-height:var(--ap-price-button-line-height,1.15);letter-spacing:var(--ap-price-button-spacing,0);text-transform:var(--ap-price-button-transform,uppercase);box-shadow:var(--ap-price-button-shadow,none);}
.apb-public-calculator a.apb-calc-cta.final-cta-button:hover,.apb-public-calculator a.apb-calc-cta.final-cta-button:focus-visible{border-color:var(--ap-price-button-hover-border,#ff1f1f);background:var(--ap-price-button-hover-background,transparent);color:var(--ap-price-button-hover-color,#ff1f1f);box-shadow:var(--ap-price-button-hover-shadow,none);}

/* Room for the selected text; focus changes this single border, never adds a ring. */
.apb-public-calculator select.apb-calc-package,.apb-public-calculator select.apb-calc-timeband{
  box-sizing:border-box;min-height:54px!important;height:54px!important;
  padding:12px 36px 12px 18px!important;font-size:clamp(16px,1.2vw,18px)!important;line-height:1.5!important;
  outline:none!important;box-shadow:none!important;
}
.apb-public-calculator select.apb-calc-package:focus,.apb-public-calculator select.apb-calc-timeband:focus{
  outline:none!important;box-shadow:none!important;border-color:var(--ap-price-button-hover-color,#ff1f1f)!important;background-color:#202020;
}
/* This is a section heading, below the page's main title. Typography stays shared. */
.apb-public-calculator .ap-extra-pricelist__title{
  font-size:clamp(24px,2.25vw,32px)!important;line-height:1.25!important;max-width:1000px;margin:0 auto!important;
}
.apb-public-calculator .ap-extra-pricelist__line{display:block;width:72px;height:2px;background:var(--ap-price-button-border-color,#ff1f1f);}
.ap-extra-pricelist.apb-public-calculator{margin-top:clamp(56px,5vw,80px)!important;}

/* Approved per-session scheduling, using existing field and red-focus tokens. */
.apb-calc-session-fields{display:flex;justify-content:center;align-items:end;flex-wrap:wrap;gap:16px;margin:16px auto 24px}.apb-calc-session-fields[hidden]{display:none}.apb-calc-session-fields label{display:flex;flex-direction:column;gap:8px;text-align:center}.apb-calc-session-fields input,.apb-calc-session-fields select{min-height:54px;padding:12px 16px;border:1px solid #ff1f1f;border-radius:8px;color:inherit;background:#202020;font:inherit}.apb-calc-included{font-size:14px;color:#ff1f1f}.apb-calc-included:empty{display:none}

/* 2026-10-19 – responsive spacing audit.
   The pricing grid already owns the distance between sections (Unification 3.3.22).
   Do not add a second margin/padding before the calculator heading. */
.ap-pricing__content > .ap-extra-pricelist.apb-public-calculator {
  margin:0 auto!important;
  padding:0!important;
  min-width:0;
}
.apb-public-calculator,.apb-public-calculator *{box-sizing:border-box;}
.apb-public-calculator .apb-calc-row{grid-template-columns:minmax(0,1fr) minmax(135px,auto) 128px;}
.apb-public-calculator .apb-calc-quantity{grid-template-columns:40px minmax(0,1fr) 40px;gap:3px;width:128px;justify-self:end;}
.apb-public-calculator .apb-calc-quantity button{width:40px;height:40px;min-height:40px;font-size:20px;}
.apb-public-calculator .apb-calc-qty{height:40px;min-height:40px;font-size:16px;line-height:1.25;}
.apb-public-calculator .apb-calc-session-fields{max-width:100%;}
.apb-public-calculator .apb-calc-session-fields label{min-width:0;max-width:100%;}
.apb-public-calculator .apb-calc-session-fields input,
.apb-public-calculator .apb-calc-session-fields select{max-width:100%;}
@media(max-width:900px){
 .apb-public-calculator .apb-calc-row{grid-template-columns:minmax(0,1fr) 140px;}
}
@media(max-width:540px){
 .apb-public-calculator .apb-calc-row{grid-template-columns:minmax(0,1fr) 112px;gap:10px 12px;padding:16px 0;}
 .apb-public-calculator .apb-calc-quantity{grid-template-columns:36px minmax(0,1fr) 36px;width:112px;gap:2px;}
 .apb-public-calculator .apb-calc-quantity button{width:36px;height:38px;min-height:38px;font-size:20px;}
 .apb-public-calculator .apb-calc-qty{height:38px;min-height:38px;font-size:16px;}
 .apb-public-calculator .apb-calc-row .ap-extra-row__price{padding-left:0;}
 .apb-public-calculator .ap-extra-row__description{font-size:14px;line-height:1.55;}
 .apb-public-calculator .apb-calc-accordion>summary{padding:16px 12px;gap:12px;}
 .apb-public-calculator .apb-calc-session-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
 .apb-public-calculator .apb-calc-session-fields label{width:100%;}
 .apb-public-calculator .apb-calc-session-fields input,
 .apb-public-calculator .apb-calc-session-fields select{width:100%;min-width:0;}
 .apb-public-calculator .apb-calc-top-actions{margin:20px 0 24px;}
}
.apb-public-calculator .apb-calc-row .ap-extra-row__price>span{color:var(--ap-price-net-color,rgba(255,255,255,.65));}

/* 0.39.15: a kiegészítők alatti „Vissza a kategóriákhoz” ugyanakkora, mint a többi. */
.apb-public-calculator>.ap-extra-pricelist__inner>.ap-price-category-back{font-size:14px;line-height:1.6;}
