/* Scoped addition: existing calculator logic, field IDs and site styles remain intact. */
.price-counter-page .inner-price-section{padding:0 0 60px;background:#f0f0f0}
.price-counter-page .price-wrap{width:min(1110px,calc(100% - 40px));margin:0 auto}
.price-counter-page .price-hero{background:#dedede;padding:42px 0 34px}
.price-counter-page .price-hero .calc-page-title{margin:0 auto 22px;padding-bottom:26px;line-height:1.15;font-size:clamp(34px,4.4vw,60px);background:none;position:relative;font-family:PlayfairSmBold,Georgia,serif}
.price-counter-page .price-hero .calc-title-subtitle{font-size:.48em;line-height:1.35;margin-top:12px}
.price-counter-page .price-hero .itlc{color:#cb3340}
.price-counter-page .price-hero .calcdescription,.price-counter-page .price-hero .calc-scope{color:#4d4d4d;font-size:16px;line-height:1.6;padding:0;max-width:940px}
.price-counter-page .price-hero .calcdescription{margin-bottom:12px}
.price-counter-page .price-hero .calc-scope{margin-bottom:0}
.price-counter-page .price-hero .calc-total-notice{font-size:15px;line-height:1.55;margin-top:10px}
.price-counter-page .price-content{padding-top:30px}
.price-counter-page .price-examples h2{font-size:32px;margin:0 0 14px;text-align:center;background:none;padding:0;font-family:PlayfairSmBold,Georgia,serif}
.price-counter-page .price-examples .calc-section-intro{font-size:16px;line-height:1.55;text-align:center;margin-bottom:20px}
.price-counter-page .calc-example-grid{gap:22px}
.price-counter-page .calc-example-card{border:1px solid #e7e7e7;border-radius:10px;box-shadow:0 4px 16px #00000008;padding:24px;display:flex;flex-direction:column}
.price-counter-page .calc-example-card h3{font-size:25px;font-family:PlayfairSmBold,Georgia,serif;line-height:1.25}
.price-counter-page .calc-example-card .calc-example-price{font-family:PlayfairSmBold,Georgia,serif;font-size:31px;color:#cb3340;line-height:1.3}
.price-counter-page .calc-example-card .calc-example-meta{font-size:14px;line-height:1.5;min-height:42px}
.price-counter-page .calc-example-card ul{flex:1;font-size:15px;line-height:1.55;margin-bottom:16px}
.price-counter-page .calc-example-button,.price-counter-page [data-calculator-order],.price-counter-page .price-counter-choose{background:#cb3340;color:#fff;border:1px solid #cb3340;border-radius:5px;transition:background-color .2s,border-color .2s}
.price-counter-page .calc-example-button{width:100%;height:auto;min-height:44px;padding:10px 12px;line-height:1.4;margin:0;text-transform:none;font-size:15px;font-family:AvenirMed,Arial,sans-serif}
.price-counter-page .calc-example-button:hover,.price-counter-page [data-calculator-order]:hover,.price-counter-page .price-counter-choose:hover{background:#ac2631;border-color:#ac2631;color:#fff}
.price-counter-page .price-examples .calc-estimate-note{text-align:center;font-size:13px;line-height:1.6;margin:16px auto 26px}
.price-counter-page .price-calculator-card{position:relative;padding:30px 32px 18px;background:#fff;border:1px solid #e7e7e7;border-radius:12px;box-shadow:0 5px 22px #0000000d}
.price-counter-page .price-calculator-card .calc{font-size:16px;font-family:AvenirReg,Arial,sans-serif;margin:0}
.price-counter-page .price-calculator-topbar{min-height:150px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}
.price-counter-page .price-calculator-card .calc-currency-row{max-width:48%;padding:0}
.price-counter-page .price-calculator-card .calc-currency{text-align:left;margin:0;padding:0}
.price-counter-page .price-calculator-card .calc-currency legend{margin:0 0 23px;font-size:16px;font-family:AvenirMed,Arial,sans-serif;text-align:left}
.price-counter-page .price-calculator-card .calc-currency-options{border-radius:5px}
.price-counter-page .price-calculator-card .calc-currency-options label{min-width:76px;font-size:14px;padding:8px 16px}
.price-counter-page .price-calculator-card .calc-currency-note{max-width:420px;font-size:12px;line-height:1.55;margin:9px 0 0}
.price-counter-page .price-counter{position:absolute;top:30px;right:32px;width:43%;padding-left:24px;border-left:1px solid #e0e0e0}
.price-counter-page .price-counter h2{margin:0 0 6px;padding:0;background:none;text-align:left;font-size:20px;line-height:1.3;font-family:PlayfairSmBold,Georgia,serif}
.price-counter-page .price-counter .price-counter-description{font-size:13px;line-height:1.5;margin:0 0 10px;padding:0}
.price-counter-page .price-counter-choose{padding:9px 22px;font:15px/1.4 AvenirMed,Arial,sans-serif;cursor:pointer;min-height:42px}
.price-counter-page .price-counter .price-counter-note{font-size:12px;line-height:1.45;color:#666;margin:8px 0 0;padding:0}
.price-counter-page .price-counter-choose:focus-visible,.price-counter-page .calc-example-button:focus-visible{outline:2px solid #cb3340;outline-offset:3px}
.price-counter-page .price-calculator-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.price-counter-page .price-calculator-fields>.calcsection{float:none;width:auto;padding:0;min-width:0}
.price-counter-page .price-calculator-fields>.calcsection+.calcsection{border-left:1px solid #e0e0e0;padding-left:20px}
.price-counter-page .price-calculator-card .calc .calcblock{margin:8px 0 16px}
.price-counter-page .price-calculator-card .calc .mainopt{float:none;width:100%}
.price-counter-page .price-calculator-card .calc select{height:38px;border-radius:4px;color:#444;margin-bottom:14px;padding:5px 28px 5px 9px;background-color:#fff}
.price-counter-page .price-calculator-card .calc .needless{background-color:#f3f3f3;color:#aaa}
.price-counter-page .price-calculator-card .calc input[type=number]{border-radius:4px;color:#444}
.price-counter-page .price-total-row{float:none;width:100%;padding:0;clear:both}
.price-counter-page .price-total-row hr{border-top:1px solid #dedede;margin:16px 0 20px}
.price-counter-page .calc .calcsectiontotal{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 10px;padding:0;min-width:0}
.price-counter-page .calc .totaldata{display:flex;align-items:center;flex-wrap:wrap;margin:0;gap:0;font-family:PlayfairSmBold,Georgia,serif;min-width:0}
.price-counter-page .calc .totaldata label{font-size:27px;line-height:1.4;margin:0 10px 0 0}
.price-counter-page .calc .totaldata .calc-total-symbol,.price-counter-page .calc .totaldata input,.price-counter-page .calc .totaldata .calc-total-code{font:700 32px/1.4 PlayfairSmBold,Georgia,serif;color:#cb3340;margin:0}
.price-counter-page .calc .totaldata input{width:7ch;height:46px;padding:0;border:0;min-width:0}
.price-counter-page .calc .totaldata .calc-total-code{font-size:22px;margin-left:4px}
.price-counter-page .calc .calcsectiontotal .btn5{float:none;flex-shrink:0;margin:0;height:auto;min-height:46px;line-height:1.4;padding:12px 20px;text-transform:none;font-size:15px}
.price-counter-page .price-support .calc-info-grid{gap:32px;margin-top:0}
.price-counter-page .price-support .calc-info-grid h2{font-size:29px;line-height:1.25;margin-top:36px;font-family:PlayfairSmBold,Georgia,serif}
.price-counter-page .price-support .calc-final-cta{margin-top:26px}
@media(max-width:1000px){.price-counter-page .price-calculator-card{padding:24px}.price-counter-page .price-counter{top:24px;right:24px}.price-counter-page .price-calculator-fields{gap:14px}.price-counter-page .price-calculator-fields>.calcsection+.calcsection{padding-left:14px}.price-counter-page .calc .calcsectiontotal{flex-wrap:wrap}.price-counter-page .calc .calcsectiontotal .btn5{margin-left:auto}}
@media(max-width:767px){.price-counter-page .price-wrap{width:calc(100% - 32px)}.price-counter-page .price-hero{padding:28px 0}.price-counter-page .price-hero .calc-title-subtitle{font-size:.56em}.price-counter-page .price-content{padding-top:24px}.price-counter-page .calc-example-grid{grid-template-columns:1fr;gap:16px}.price-counter-page .calc-example-card .calc-example-meta{min-height:0}.price-counter-page .price-calculator-card{padding:20px 18px 14px}.price-counter-page .price-counter{position:static;width:100%;padding:0 0 20px;margin:0 0 20px;border-left:0;border-bottom:1px solid #e0e0e0}.price-counter-page .price-calculator-topbar{min-height:0;padding-bottom:20px;margin-bottom:20px}.price-counter-page .price-calculator-card .calc-currency-row{max-width:100%}.price-counter-page .price-calculator-fields{grid-template-columns:1fr;gap:8px}.price-counter-page .price-calculator-fields>.calcsection+.calcsection{border-left:0;border-top:1px solid #e0e0e0;padding:14px 0 0}.price-counter-page .calc .calcsectiontotal{display:block;text-align:center}.price-counter-page .calc .totaldata{justify-content:center}.price-counter-page .calc .totaldata label{font-size:24px;width:100%;margin:0 0 5px}.price-counter-page .calc .totaldata .calc-total-symbol,.price-counter-page .calc .totaldata input{font-size:30px}.price-counter-page .calc .calcsectiontotal .btn5{width:100%;margin:14px 0 0}.price-counter-page .price-support .calc-info-grid{grid-template-columns:1fr;gap:0}.price-counter-page .price-support .calc-info-grid h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.price-counter-page .calc-example-button,.price-counter-page .price-counter-choose{transition:none}}

.price-counter-page .price-hero .calc-page-title::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:#cb3340}
.price-counter-page .price-calculator-card .calc select{appearance:auto;background-image:none}

.price-counter-page #analyzer-file[hidden],.price-counter-page #analyzer-apply-proxy[hidden]{display:none!important}
.price-counter-page .price-hero .itlc{font-family:PlayfairIta,Georgia,serif;font-style:italic}
/* Test refinements: typography, alignment and explicit book-type selection. */
.price-counter-page .price-hero .calcdescription{margin-bottom:0;text-align:left}
.price-counter-page .price-hero .calc-scope{text-align:left;margin-top:0}
.price-counter-page .price-counter-choose{background:#222;border-color:#222;display:inline-flex;align-items:center;justify-content:center}
.price-counter-page .price-counter-choose:hover{background:#444;border-color:#444}
.price-counter-page .price-calculator-card .calc label{vertical-align:middle;line-height:1.5}
.price-counter-page .price-calculator-card .calc input[type=checkbox],.price-counter-page .price-calculator-card .calc input[type=radio]:not([name=currency]){vertical-align:middle;margin-top:0;margin-bottom:0;position:static}
.price-counter-page .price-calculator-card .calc input[type=number]:not(#total){height:38px;box-sizing:border-box;line-height:normal;padding-top:0;padding-bottom:0;font:16px AvenirReg,Arial,sans-serif;vertical-align:middle}
.price-counter-page .price-calculator-card .calc button,.price-counter-page .price-calculator-card .calc [data-calculator-order]{display:inline-flex;align-items:center;justify-content:center;line-height:1.3}
.price-counter-page .price-calculator-card [data-calculator-order][aria-disabled=true]{background:#eee;color:#999;border-color:#ddd;outline:none;box-shadow:none}
.price-counter-page .calc .totaldata{align-items:baseline;flex-wrap:nowrap}
.price-counter-page .calc .totaldata .calc-total-symbol,.price-counter-page .calc .totaldata input,.price-counter-page .calc .totaldata .calc-total-code{font-family:Playfair,Georgia,serif;font-weight:400;line-height:1.3;letter-spacing:normal}
.price-counter-page .calc .totaldata input{height:46px;box-sizing:content-box;flex:0 0 auto;margin:0;padding:0}
.price-counter-page .calc .totaldata .calc-total-code{font-size:28px;margin-left:4px;align-self:baseline}
.price-counter-page .calc .calcsectiontotal .btn5{border-width:1px}
.price-counter-page .calc input:disabled{color:#999;background:#f3f3f3;cursor:not-allowed}
.price-counter-page .calc .price-type-hint{font-size:13px;line-height:1.4;color:#666;padding:0;margin:0 0 12px}
.price-counter-page .calc-faq details{overflow:hidden}
.price-counter-page .calc-faq summary:focus-visible{outline:2px solid #cb3340;outline-offset:-3px}
@media(max-width:767px){.price-counter-page .calc .totaldata{flex-wrap:wrap}.price-counter-page .calc .totaldata .calc-total-code{font-size:26px}.price-counter-page .calc .totaldata label{flex-basis:100%}}

/* Restore native selects; align complete label/control rows instead of legacy floats. */
.price-counter-page .price-calculator-card .calc select{-webkit-appearance:none;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 d='M1 1.5l5 5 5-5' fill='none' stroke='%23444' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;box-sizing:border-box;height:38px;padding:0 38px 0 9px;font:16px AvenirReg,Arial,sans-serif;line-height:normal;vertical-align:middle;accent-color:#cb3340}
.price-counter-page .price-calculator-card .calc select.needless,.price-counter-page .price-calculator-card .calc select:disabled{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 d='M1 1.5l5 5 5-5' fill='none' stroke='%23b8b8b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.price-counter-page .price-calculator-card .calc select option:checked{background:#cb3340;color:#fff}
.price-counter-page .price-calculator-card .calc .blockjustify{display:flex;align-items:center;gap:8px;text-align:left}
.price-counter-page .price-calculator-card .calc .blockjustify>label{float:none;margin:0 auto 0 0;min-width:0}
.price-counter-page .price-calculator-card .calc .wordsnumber-wrapper input{width:calc(50% - 3px)!important;min-width:0}
.price-counter-page .price-calculator-card .calc .blockjustify:not(.wordsnumber-wrapper){display:grid;grid-template-columns:minmax(0,1fr) 95px 54px}
.price-counter-page .price-calculator-card .calc .blockjustify .imginput{width:95px}
.price-counter-page .price-calculator-card .calc .imgradio{display:flex;flex-direction:column;gap:5px;float:none;margin:0}
.price-counter-page .price-calculator-card .calc .imgradio>br{display:none}
.price-counter-page .price-calculator-card .calc .imgradio .ownradio,.price-counter-page .price-calculator-card .calc .imgradio .orderradio{display:flex;align-items:center;gap:4px;float:none;line-height:1.3;margin:0}
.price-counter-page .price-calculator-card .calc .imgradio input{width:14px;height:14px;padding:0;margin:0;vertical-align:middle;flex-shrink:0}
.price-counter-page .price-calculator-card .calc .imgradio label{line-height:1.3;margin:0}
.price-counter-page .price-calculator-card .calc .price-control-label{display:inline-flex;align-items:center;gap:5px;min-height:26px;max-width:100%;vertical-align:middle}
.price-counter-page .price-calculator-card .calc .price-control-label input{flex-shrink:0;margin:0;padding:0;width:20px;height:20px}
.price-counter-page .price-calculator-card .calc .price-control-label label{margin:0;line-height:1.5}
.price-counter-page .price-calculator-card .calc .racurses-wrapper{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.price-counter-page .price-calculator-card .calc .racurses-wrapper .sublabel{line-height:1.5;margin:0}
.price-counter-page .price-calculator-card .calc .racurses-wrapper button{width:26px;height:26px;min-height:0;padding:0;margin:0}
.price-counter-page .calc .totaldata .price-total-amount{font:400 32px/1.3 Playfair,Georgia,serif;color:#cb3340;margin:0;padding:0}
.price-counter-page .calc .totaldata input.price-total-source{position:absolute;width:1px!important;height:1px!important;margin:0;padding:0;clip-path:inset(50%);overflow:hidden}
@media(max-width:767px){.price-counter-page .calc .totaldata .price-total-amount{font-size:30px}}

/* Keep native dropdown text at the left; remove clipping from calculator containers. */
.price-counter-page .inner-price-section,.price-counter-page .price-calculator-card,.price-counter-page .price-calculator-fields,.price-counter-page .calc,.price-counter-page .calc .calcsection,.price-counter-page .calc .calcblock,.price-counter-page .calc .mainopt{overflow:visible}
.price-counter-page .price-calculator-card .calc select,#analyzer-modal .analyzer-book-type select{text-align:left!important;text-align-last:left!important;direction:ltr}
.price-counter-page .price-calculator-card .calc select option,#analyzer-modal .analyzer-book-type select option{text-align:left}
.price-counter-page .price-calculator-card .calc .price-control-label{display:inline-flex;align-items:center;gap:6px;min-height:26px}
.price-counter-page .price-calculator-card .calc .price-control-label label,.price-counter-page .price-calculator-card .calc .imgradio label{padding:0;position:static;top:auto;float:none}
.price-counter-page .price-calculator-card .calc .price-control-label input,.price-counter-page .price-calculator-card .calc .imgradio input{position:static;top:auto;transform:none;float:none;margin:0!important;flex:0 0 auto;align-self:center}

/* Opened dropdown list: brand-red highlight where the browser lets a page style it (customizable <select>:
   Chrome/Edge 135+, Safari 27+), only with a mouse/trackpad. Phones and other browsers keep their system list. */
@supports (appearance:base-select){
 @media (hover:hover) and (pointer:fine){
  .price-counter-page .price-calculator-card .calc select,.price-counter-page .price-calculator-card .calc select::picker(select),#analyzer-modal .analyzer-book-type select,#analyzer-modal .analyzer-book-type select::picker(select){appearance:base-select}
  .price-counter-page .price-calculator-card .calc select,#analyzer-modal .analyzer-book-type select{display:inline-flex;align-items:center}
  .price-counter-page .price-calculator-card .calc select::picker-icon,#analyzer-modal .analyzer-book-type select::picker-icon{display:none}
  .price-counter-page .price-calculator-card .calc select::picker(select),#analyzer-modal .analyzer-book-type select::picker(select){margin:4px 0;padding:4px 0;border:1px solid #d6d6d6;border-radius:6px;background:#fff;box-shadow:0 10px 28px rgb(0 0 0 / 14%)}
  .price-counter-page .price-calculator-card .calc select option,#analyzer-modal .analyzer-book-type select option{padding:7px 14px;font:inherit;line-height:1.4;color:#333;background:#fff}
  .price-counter-page .price-calculator-card .calc select option:checked,#analyzer-modal .analyzer-book-type select option:checked{background:#fff;color:#333}
  .price-counter-page .price-calculator-card .calc select option:hover,.price-counter-page .price-calculator-card .calc select option:focus-visible,#analyzer-modal .analyzer-book-type select option:hover,#analyzer-modal .analyzer-book-type select option:focus-visible{background:#cb3340;color:#fff;outline:none}
  .price-counter-page .price-calculator-card .calc select option::checkmark,#analyzer-modal .analyzer-book-type select option::checkmark{color:#cb3340}
  .price-counter-page .price-calculator-card .calc select option:hover::checkmark,.price-counter-page .price-calculator-card .calc select option:focus-visible::checkmark,#analyzer-modal .analyzer-book-type select option:hover::checkmark,#analyzer-modal .analyzer-book-type select option:focus-visible::checkmark{color:#fff}
 }
}

/* ==== price-hero-v2 (2026-10-13, rev. 4): hero like Designer Tools, notice under the total, price details ==== */

/* Hero: NOT a stacking context (no z-index / isolation here), so that the light strip (::after),
   the picture and the text can be layered between each other: strip 1 < picture 2 < text 3.
   --art-w (picture width) lives here so the text block can follow the picture (see paragraphs below). */
.price-counter-page .price-hero{--art-w:min(650px,calc(57vw - 110px));position:relative;padding:30px 0 28px}
.price-counter-page .price-hero .price-wrap{position:relative;z-index:3}
/* <picture> wrappers take no space; the <img> inside is positioned against .price-hero / .price-wrap */
.price-counter-page .price-hero picture{display:block;height:0;margin:0}
.price-counter-page .price-hero-copy{position:relative;z-index:2;max-width:none}
/* Title: its own 640px column; width shrinks to the text so the red rule (::after) is centred under it.
   The italic subtitle sits a little closer to the main line; the paragraphs start clearly lower than the
   rule (26px), so the description reads as a separate block. */
.price-counter-page .price-hero .calc-page-title{width:fit-content;max-width:640px;text-align:left;margin:0 0 26px;padding-bottom:16px;font-size:clamp(34px,4.1vw,56px)}
.price-counter-page .price-hero .calc-page-title::after{left:50%;transform:translateX(-50%)}
.price-counter-page .price-hero .calc-title-subtitle{margin-top:3px}
/* Paragraphs: wider than the title, up to 40px before the picture's left edge; they narrow as the picture
   moves. Picture left = 100vw - 0.877 * --art-w; container left = (100vw - 1110px) / 2 (>=1150px) or 20px.
   Capped at 780px: wider lines are hard to read and make the hero so short on wide screens (1700-1900px)
   that the manuscript would reach the intro text under "Estimate Examples". */
.price-counter-page .price-hero .calcdescription,.price-counter-page .price-hero .calc-scope{max-width:min(780px,calc(50vw + 515px - var(--art-w) * .877));margin-left:0;margin-right:0;font-size:15px;line-height:1.55}

/* The light area "lies above" the dark hero and casts the header-like shadow UP onto it.
   A 24px strip in the section colour sits right under the hero; its shadow is clipped to the part above it.
   The clip ends 4px inside the strip: at the strip's very edge the shadow left a 1px grey line. */
.price-counter-page .price-hero::after{content:"";position:absolute;z-index:1;left:0;right:0;top:100%;height:24px;background:#f0f0f0;box-shadow:0 0 9px 1px rgba(0,0,0,.3);clip-path:inset(-16px 0 4px 0);pointer-events:none}

/* Still life on the right, as tuned by the owner at 1440px: 650px wide, pushed 80px past the right edge
   (book and notes are cropped), top edge under the fixed header (4.2% of the width above the hero).
   From 1181px the picture is anchored to the hero TOP: when the hero gets shorter, the manuscript simply
   reaches further onto the light area (owner's choice). Below 1181px it is anchored to the bottom
   (10.77% of the width over the light area), because there the hero is tall compared with the picture.
   --art-w (set on .price-hero) scales everything together; crop = 12.3% of the width.
   Width limits: >=12px from the hero title (57vw-110px / 57vw-19px / 114vw-675px) and, below 1366px,
   the "Estimate Examples" heading (66.26vw-210px). */
.price-counter-page .price-hero-art{position:absolute;z-index:2;top:calc(var(--art-w) * -0.042);right:calc(var(--art-w) * -0.123);display:block;width:var(--art-w);height:auto;pointer-events:none;user-select:none}

/* Owner's rule: if the picture ever reaches the content below, it goes UNDER it (heading, cards),
   but stays ABOVE the grey background. .price-content becomes a layer above the picture (3 > 2).
   Safe: the Manuscript Counter window is a <dialog> (top layer), select pickers are top layer too. */
.price-counter-page .price-content{position:relative;z-index:3}

/* Branch: hangs from the left edge of the screen, full size, exactly like on Designer Tools.
   On laptops narrower than ~1360px its leaves go UNDER the start of the title (the text is a layer above). */
.price-counter-page .price-hero-branch{position:absolute;z-index:1;top:-32px;left:calc((100vw - 100%) / -2);display:block;width:125px;height:auto;pointer-events:none;user-select:none}

@media (min-width:768px){
 .price-counter-page .price-hero .calc-title-subtitle{font-size:.43em}
}
/* Laptops 1181-1365px and tablets: narrower title column (560px) and a slightly smaller title,
   so the picture can stay large enough to reach under the header. */
@media (max-width:1365px){
 .price-counter-page .price-hero{--art-w:min(650px,calc(57vw - 19px),calc(114vw - 675px),calc(66.26vw - 210px))}
 .price-counter-page .price-hero .calc-page-title{max-width:560px;font-size:clamp(34px,4.1vw,50px)}
}
@media (max-width:1180px){
 .price-counter-page .price-hero-art{top:auto;bottom:calc(var(--art-w) * -0.1077)}
 .price-counter-page .price-hero-branch{display:none}
}
@media (max-width:1149px){
 .price-counter-page .price-hero .calcdescription,.price-counter-page .price-hero .calc-scope{max-width:calc(100vw - 60px - var(--art-w) * .877)}
}
@media (max-width:820px){
 .price-counter-page .price-hero-art{display:none}
 .price-counter-page .price-hero .calc-page-title{width:auto;max-width:none;text-align:center}
 .price-counter-page .price-hero .calcdescription,.price-counter-page .price-hero .calc-scope{max-width:none}
}
@media (max-width:767px){
 .price-counter-page .price-hero{padding:24px 0 26px}
 .price-counter-page .price-hero::after{height:20px}
}

/* Message line above the thin rule of the calculator card: the red hint and the "example loaded" status
   share one row (same grid cell) and only fade, so the calculator below never jumps.
   Same size as the red notice under the total (16px); the hint is bold: Avenir Next Demi, the site's own
   unused AvenirNextLTPro-Demi.woff with the same vertical-metrics fix as the other "-vm" fonts.
   The selectors include .calc so they beat the older ".calc .price-type-hint" (13px grey) rule above. */
@font-face{font-family:AvenirDemi;font-display:swap;src:url(/fonts/AvenirNextLTPro-Demi-vm.woff) format("woff")}
.price-counter-page .price-calculator-topbar{padding-bottom:12px}
.price-counter-page .price-calculator-message{clear:both;display:grid;margin:8px 0 0;text-align:center}
.price-counter-page .calc .price-calculator-message>p{grid-area:1/1;margin:0;padding:0;font:400 16px/1.4 AvenirReg,Arial,sans-serif;transition:opacity .25s ease,visibility .25s ease}
.price-counter-page .calc .price-calculator-message>.price-type-hint,.price-counter-page .calc .price-calculator-message>.price-size-hint{font-family:AvenirDemi,AvenirMed,Arial,sans-serif;color:#cb3340}
/* Blocked fields: before a book type and a word count are given, clicks on the disabled fields pass through
   to the card (pointer-events:none); price-layout.js then outlines the missing field(s) in red and shakes
   the hint ("is-alert"). The same red outline and shake are used for the book size when "Continue With
   Selected Options" is pressed without it (the size does not affect the price, but it is required). */
.price-counter-page .price-calculator-fields :is(input,select,button):disabled{pointer-events:none}
.price-counter-page .price-calculator-fields select.price-needs-input,.price-counter-page .price-calculator-fields input.price-needs-input{border-color:#cb3340!important;box-shadow:0 0 0 3px rgba(203,51,64,.18)!important}
.price-counter-page .price-calculator-fields label.price-needs-input{color:#cb3340}
@keyframes price-hint-alert{0%,100%{transform:none}15%{transform:translateX(-7px)}30%{transform:translateX(6px)}45%{transform:translateX(-4px)}60%{transform:translateX(3px)}75%{transform:translateX(-1px)}}
.price-counter-page .calc .price-calculator-message>.is-alert{animation:price-hint-alert .5s ease}
@media (prefers-reduced-motion:reduce){.price-counter-page .calc .price-calculator-message>.is-alert{animation:none}}
.price-counter-page .calc .price-calculator-message>.calc-example-status{min-height:0;color:#555}
.price-counter-page .calc .price-calculator-message>.is-off{opacity:0;visibility:hidden}

/* Estimated total: small gap after "$"; button text optically centred (an even line box avoids
   the 1px upward rounding of an odd half-leading). */
.price-counter-page .calc .totaldata .calc-total-symbol{margin-right:.14em}
.price-counter-page .calc .calcsectiontotal .btn5{line-height:20px}

/* Notice under the total row: centred, a bit larger, balanced lines; the same 24px gap above it
   (from the total row) and below it (to the card edge: 6px + 18px card padding). */
.price-counter-page .calc .price-total-notice{display:block;clear:none;width:auto;max-width:48em;margin:24px auto 6px;padding:0;text-align:center;text-wrap:balance;font-size:16px;line-height:1.5;color:#cb3340}
.price-counter-page .calc .price-total-notice strong{font-family:AvenirMed,Arial,sans-serif;font-weight:400}

/* Price details: toggle next to the amount, panel under the total row (before the button on phones);
   opening/closing is animated in calculator.js (setPriceDetailsOpen). */
.price-counter-page .calc .calcsectiontotal{flex-wrap:wrap}
.price-counter-page .calc .price-details-toggle{align-self:center;margin:0 0 0 18px;padding:2px 0;border:0;border-bottom:1px dashed currentColor;border-radius:0;background:none;color:#555;font:400 15px/1.3 AvenirReg,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.price-counter-page .calc .price-details-toggle:hover,.price-counter-page .calc .price-details-toggle[aria-expanded="true"]{color:#cb3340}
/* site.css removes every focus outline inside #main ("focus visuals are owned by each component"),
   so keyboard focus is shown by colour and a solid underline. */
.price-counter-page .calc .price-details-toggle:focus-visible{color:#cb3340;border-bottom-style:solid}
.price-counter-page .calc .price-details-toggle::after{content:"";display:inline-block;width:7px;height:7px;margin:0 2px 3px 8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.price-counter-page .calc .price-details-toggle[aria-expanded="true"]::after{transform:rotate(-135deg);margin-bottom:-1px}
.price-counter-page .calc .price-details-panel{order:3;flex:0 0 100%;box-sizing:border-box;max-width:560px;margin:0;padding:12px 16px;background:#f7f7f7;border:1px solid #e6e6e6;border-radius:6px}
.price-counter-page .calc .price-details-toggle[hidden],.price-counter-page .calc .price-details-panel[hidden]{display:none!important}
.price-counter-page .calc .price-details-table{width:100%;border-collapse:collapse;font:400 15px/1.45 AvenirReg,Arial,sans-serif;color:#333}
.price-counter-page .calc .price-details-table th{font-weight:400;text-align:left;padding:5px 12px 5px 0;vertical-align:baseline}
.price-counter-page .calc .price-details-table td{text-align:right;padding:5px 0;white-space:nowrap;vertical-align:baseline;font-variant-numeric:tabular-nums}
.price-counter-page .calc .price-details-table th small{display:inline;margin-left:6px;color:#888;font-size:13px}
.price-counter-page .calc .price-details-table tbody tr+tr th,.price-counter-page .calc .price-details-table tbody tr+tr td{border-top:1px solid #e6e6e6}
.price-counter-page .calc .price-details-table tfoot th,.price-counter-page .calc .price-details-table tfoot td{border-top:2px solid #d5d5d5;padding-top:8px;font-family:AvenirMed,Arial,sans-serif;color:#121212}
.price-counter-page .calc .price-details-table tfoot td{color:#cb3340}
@media (max-width:767px){
 .price-counter-page .calc .calcsectiontotal .price-details-panel{max-width:none;margin:12px 0 0;text-align:left}
 .price-counter-page .calc .price-details-table th small{display:block;margin:0}
 .price-counter-page .calc .price-total-notice{margin:24px auto 10px}
 .price-counter-page .price-calculator-message{min-height:2.8em;align-items:center}
}
/* ==== /price-hero-v2 ==== */
