/* Isolated calculator and quote form styles. No global selectors. */
#em-calculator { --em-teal:#087c83; --em-dark:#113a3d; --em-border:#dce7e5; --em-soft:#f2f8f7; padding-block:1.25rem 4rem; }
#em-calculator *, #tr-international-mail-quote * { box-sizing:border-box; }
#em-calculator [hidden] { display:none!important; }
#em-calculator .em-heading { margin:0 0 .75rem; font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.15; }
#em-calculator .em-intro { color:#4b6262; margin-bottom:1.5rem; }
#em-calculator .em-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr); grid-template-areas:'details summary' 'contact summary'; gap:1.5rem; align-items:start; }
#em-calculator .em-details { grid-area:details; }
#em-calculator .em-contact { grid-area:contact; }
#em-calculator .em-card { background:#fff; border:1px solid var(--em-border); border-radius:20px; padding:clamp(1.2rem,3vw,2rem); min-width:0; }
#em-calculator .em-section { border:0; padding:0; margin:0 0 1.6rem; min-width:0; }
#em-calculator .em-section:last-child { margin-bottom:0; }
#em-calculator .em-section+.em-section { border-top:1px solid var(--em-border); padding-top:1.5rem; }
#em-calculator .em-title { font-family:var(--font-body,system-ui); font-size:1.05rem; font-weight:800; color:var(--em-dark); line-height:1.4; margin:0 0 1rem; display:flex; align-items:center; gap:.65rem; }
#em-calculator .em-title>span { display:grid; place-items:center; font-size:.76rem; width:1.7rem; height:1.7rem; border-radius:50%; background:#e5f5f2; color:var(--em-teal); flex-shrink:0; }
#em-calculator .em-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
#em-calculator .em-field { min-width:0; margin:0 0 1rem; }
#em-calculator .em-field>label, #em-calculator .em-label { display:block; color:#254748; font-size:.85rem; font-weight:750; margin-bottom:.4rem; line-height:1.5; }
#em-calculator input:not([type=radio]):not([type=checkbox]), #em-calculator textarea { display:block; width:100%; min-width:0; border:1px solid #b7ceca; border-radius:10px; min-height:48px; padding:.65rem .8rem; background:#fff; font:inherit; font-size:1rem; color:#133c3c; }
#em-calculator input[type=number] { font-variant-numeric:tabular-nums; font-weight:700!important; }
#em-calculator input:focus-visible, #em-calculator textarea:focus-visible, #em-calculator button:focus-visible, #em-calculator summary:focus-visible, #tr-international-mail-quote button:focus-visible { outline:3px solid #1c909b; outline-offset:3px; }
#em-calculator input[aria-invalid=true] { border-color:#b91c1c; }
#em-calculator .em-help { color:#506967; font-size:.78rem; line-height:1.55; margin:.45rem 0 0; }
#em-calculator .em-segment { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; padding:0; border:0; min-width:0; }
#em-calculator .em-option { display:flex; align-items:center; gap:.5rem; flex:1; padding:.75rem .9rem; border:1px solid var(--em-border); border-radius:10px; font-size:.85rem; line-height:1.4; cursor:pointer; font-weight:700; color:#284a4b; min-width:0; }
#em-calculator .em-option:has(input:checked) { border-color:var(--em-teal); background:#e5f6f3; color:#07545b; box-shadow:inset 0 0 0 1px var(--em-teal); }
#em-calculator input[type=radio], #em-calculator input[type=checkbox] { width:17px; height:17px; min-width:17px; accent-color:var(--em-teal); margin:0; }
#em-calculator .em-option small { display:block; margin-top:.2rem; font-size:.72rem; font-weight:500; }
#em-calculator .em-check { display:flex; align-items:center; gap:.6rem; font-size:.8rem; margin:.6rem 0; font-weight:650; color:#345957; }
#em-calculator .em-link { border:0; background:none; color:var(--em-teal); font:inherit; font-size:.82rem; font-weight:750; padding:.2rem 0; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
#em-calculator .em-location { padding:1rem; background:var(--em-soft); border-radius:12px; }
#em-calculator .em-location .em-segment { margin-bottom:0; }
#em-calculator .em-location .em-option { background:#fff; padding:.6rem; }
#em-calculator .em-location h3 { font:800 .9rem/1.4 var(--font-body,system-ui); color:#254748; margin:0 0 .75rem; }
#em-calculator .em-mini { border:0; padding:0; margin:0; min-width:0; }
#em-calculator .em-mini:disabled { opacity:.5; }
#em-calculator .em-note { padding:.85rem 1rem; border-radius:10px; background:#f0f7f5; font-size:.79rem; line-height:1.6; color:#3a6260; margin-top:.6rem; }
#em-calculator .em-summary { grid-area:summary; position:sticky; top:92px; min-width:0; border-radius:20px; background:var(--em-dark); color:#fff; padding:clamp(1.3rem,2.5vw,1.8rem); box-shadow:0 12px 36px #133c3c12; }
#em-calculator .em-eyebrow { font-size:.73rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; color:#a2e8df; }
#em-calculator #calc-summary-mode { color:#d0e9e5; margin:.45rem 0 .2rem; font-size:.85rem; }
#em-calculator #calc-total { display:block; font:800 clamp(2.1rem,3.8vw,3.3rem)/1.2 var(--font-display,system-ui); letter-spacing:-.035em; margin:.5rem 0 1.1rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
#em-calculator .em-time-summary { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; background:#ffffff0d; border:1px solid #ffffff20; border-radius:12px; padding:.85rem; }
#em-calculator .em-time-summary span { display:block; color:#c6dedb; font-size:.71rem; }
#em-calculator .em-time-summary strong { display:block; font-size:.98rem; margin-top:.2rem; }
#em-calculator #calc-time-rule { font-size:.73rem; color:#bbd6d2; margin:.65rem 0 1rem; }
#em-calculator #calc-lines { list-style:none; padding:0; margin:0; }
#em-calculator #calc-lines li { display:flex; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid #ffffff20; line-height:1.5; }
#em-calculator #calc-lines li>span { min-width:0; }
#em-calculator #calc-lines strong { display:block; font-size:.84rem; font-weight:650; }
#em-calculator #calc-lines small { display:block; color:#c1dcd7; font-size:.73rem; margin-top:.2rem; overflow-wrap:anywhere; }
#em-calculator #calc-lines b { white-space:nowrap; font-size:.86rem; font-weight:750; font-variant-numeric:tabular-nums; }
#em-calculator .em-summary .em-fine { font-size:.74rem; color:#c9e1de; margin-top:1rem; line-height:1.65; }
#em-calculator .em-actions, #tr-international-mail-quote .em-actions { display:grid; gap:.7rem; margin-top:1rem; }
#em-calculator .em-button, #tr-international-mail-quote .em-button { min-height:48px; border:1px solid #bdd4cf; border-radius:11px; padding:.8rem 1rem; font:750 .88rem/1.4 var(--font-body,system-ui); cursor:pointer; background:#fff; color:#164a4b; text-align:center; width:100%; }
#em-calculator .em-button:hover, #tr-international-mail-quote .em-button:hover { background:#e9f7f3; border-color:#16858b; }
#em-calculator .em-primary, #tr-international-mail-quote .em-primary { background:#087c83; color:#fff; border-color:#087c83; }
#em-calculator .em-primary:hover, #tr-international-mail-quote .em-primary:hover { background:#08676e; color:#fff; }
#em-calculator .em-secondary-actions, #tr-international-mail-quote .em-secondary-actions { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
#em-calculator button:disabled { opacity:.5; cursor:not-allowed; }
#em-calculator .em-status, #tr-international-mail-quote .em-status { color:#245e57; font-size:.85rem; margin-top:.75rem; line-height:1.6; }
#em-calculator .em-error { color:#ffdbca; background:#ffffff0a; border-radius:8px; padding:.7rem; font-size:.82rem; margin-top:.7rem; }
#em-calculator .em-status:empty, #em-calculator #calc-error:empty { display:none; }
#em-calculator details, #tr-international-mail-quote details { margin-top:1rem; font-size:.82rem; }
#em-calculator summary, #tr-international-mail-quote summary { cursor:pointer; color:#286b67; font-weight:700; padding:.35rem 0; }
#em-calculator textarea[readonly], #tr-international-mail-quote textarea[readonly] { width:100%; margin-top:.6rem; min-height:260px; font-size:.78rem; line-height:1.6; }
#em-calculator .em-initial { display:none; }
#em-calculator:not(.em-ready) .em-initial { display:block; }
#em-calculator:not(.em-ready) .em-actions { visibility:hidden; }
#tr-international-mail-quote { border-radius:20px; }
#tr-international-mail-quote .em-help { font-size:.8rem; line-height:1.6; color:#526964; margin:.65rem 0; }
@media(max-width:980px) { #em-calculator .em-grid { grid-template-columns:1fr; grid-template-areas:'details' 'summary' 'contact'; } #em-calculator .em-summary { position:static; } }
@media(max-width:520px) { #em-calculator .em-two { grid-template-columns:1fr; gap:.25rem; } #em-calculator .em-card { padding:1.1rem; border-radius:16px; } #em-calculator .em-summary { border-radius:16px; } #em-calculator .em-option { padding:.7rem .6rem; } #em-calculator .em-secondary-actions, #tr-international-mail-quote .em-secondary-actions { grid-template-columns:1fr; } #em-calculator #calc-lines li { gap:.7rem; } }

/* 2026 calculator refresh: every rule is scoped to this component. */
#em-calculator{--em-teal:#007e80;--em-dark:#102f32;--em-soft:#f3f7f6;background:#f5f7f6;padding:36px 0 64px;color:var(--em-dark)}
#em-calculator .em-modern-intro{max-width:780px;margin:0 0 30px}
#em-calculator .em-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;color:#087c83;margin:0 0 12px}
#em-calculator .em-modern-intro h2{font-size:clamp(28px,3.6vw,44px);line-height:1.12;letter-spacing:-.045em;margin:0 0 12px;font-weight:800}
#em-calculator .em-modern-intro>p:last-of-type{font-size:16px;color:#526563;line-height:1.6;margin:0}
#em-calculator .em-journey{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:24px 0 0;font-size:12px;color:#496561;font-weight:650}
#em-calculator .em-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,1fr);gap:24px}
#em-calculator .em-details{padding:0;border:0;background:transparent;display:grid;gap:16px}
#em-calculator .em-details .em-section{margin:0;padding:26px;border:1px solid #dfe8e5;border-radius:20px;background:#fff;box-shadow:0 3px 12px #163b3303}
#em-calculator .em-title{font-size:17px;letter-spacing:-.025em;margin-bottom:20px}
#em-calculator .em-title>span{border-radius:8px;font-size:12px;width:28px;height:28px;background:#edf4f1;color:#41635c}
#em-calculator .em-option{padding:16px 12px;min-height:54px;transition:border-color .15s,background .15s;border-radius:12px}
#em-calculator .em-option:has(input:checked){background:#e9f7f3;border-color:#07857b;box-shadow:inset 0 0 0 1px #07857b}
#em-calculator input:not([type=radio]):not([type=checkbox]),#em-calculator textarea{border:1px solid #cfdcd7;background:#fbfcfb;border-radius:11px;min-height:50px;font-size:16px;transition:border-color .15s,box-shadow .15s}
#em-calculator input:not([type=radio]):not([type=checkbox]):focus,#em-calculator textarea:focus{background:#fff;border-color:#07857b;box-shadow:0 0 0 4px #0087790c}
#em-calculator .em-help{font-size:12px;line-height:1.65}
#em-calculator .em-field>label,#em-calculator .em-label{font-size:13px}
#em-calculator .em-location{border:1px solid #e0e9e5;background:#f5f8f6;padding:16px}
#em-calculator .em-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;max-width:260px}
#em-calculator .em-stepper button{border:1px solid #cfddd7;border-radius:11px;background:#f5f8f6;color:#164c48;font:500 24px/1 system-ui;cursor:pointer;min-height:50px}
#em-calculator .em-stepper button:hover{background:#e5f4ec;border-color:#07857b}
#em-calculator .em-stepper input{text-align:center;appearance:textfield;-moz-appearance:textfield}
#em-calculator .em-stepper input::-webkit-inner-spin-button{appearance:none}
#em-calculator .em-summary{background:#112f31;border:1px solid #294849;border-radius:22px;padding:28px;box-shadow:0 18px 45px #163b3314;top:100px}
#em-calculator #calc-total{font-size:clamp(38px,4vw,54px);letter-spacing:-.06em;margin:12px 0 24px;color:#fff}
#em-calculator .em-eyebrow{font-size:11px;letter-spacing:.12em;color:#b8d8cf}
#em-calculator .em-live-label{display:flex;align-items:center;gap:8px;color:#c5e0d8;font-size:12px;margin:22px 0 2px}
#em-calculator .em-live-label i{width:6px;height:6px;background:#a1dfbc;border-radius:50%}
#em-calculator #calc-lines li{padding:15px 0}
#em-calculator #calc-lines strong{font-size:13px}#em-calculator #calc-lines b{font-size:14px}
#em-calculator .em-summary-next{display:flex;justify-content:space-between;gap:10px;background:#c3f0d9;color:#133c32;text-decoration:none;border-radius:12px;padding:15px;font-size:14px;font-weight:750;margin-top:22px}
#em-calculator .em-contact{padding:28px;scroll-margin-top:100px}
#em-calculator .em-primary{background:#087f77;border-color:#087f77;min-height:54px}
#em-calculator .em-actions{padding-top:12px;border-top:1px solid #e1e9e6}
#em-calculator .em-button{border-radius:12px;font-size:14px}
#em-calculator #calc-wa{background:transparent}
#em-calculator details{border-top:1px solid #e1e9e6;padding-top:12px}
#em-calculator .em-error{color:#923515;background:#fff0e9}
#em-calculator .em-summary .em-error{color:#ffe2d5;background:#ffffff0a}
#em-calculator #em-mail-dialog{border:1px solid #d5e2dc;border-radius:24px;padding:28px;width:min(660px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;color:#183e38;background:#fff;box-shadow:0 30px 100px #001c3550;margin:auto}
#em-calculator #em-mail-dialog::backdrop{background:#071f2a99;backdrop-filter:blur(5px)}
#em-calculator .em-mail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
#em-calculator .em-mail-head h2{font-size:25px;letter-spacing:-.035em;line-height:1.2;margin:0}
#em-calculator #em-mail-close{background:#eff5f1;border:0;border-radius:50%;width:40px;height:40px;flex-shrink:0;font-size:26px;color:#183e38;cursor:pointer}
#em-calculator #em-mail-dialog>p{font-size:13px;line-height:1.6;color:#50675e}
#em-calculator .em-mail-meta{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;font-size:13px;border-block:1px solid #e2eae5;padding:16px 0;margin-top:20px;overflow-wrap:anywhere}
#em-calculator .em-mail-meta>span{color:#5e746c}
#em-calculator #em-mail-body{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7f5;border:1px solid #e1e9e3;border-radius:12px;padding:18px;max-height:300px;overflow:auto;font:13px/1.7 system-ui;margin:18px 0}
#em-calculator .em-mail-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#em-calculator .em-mail-options button{min-width:0;overflow-wrap:anywhere}
#em-calculator .em-mail-options button:nth-last-child(-n+2){font-size:12px;background:#f5f8f6}
@media(max-width:980px){#em-calculator .em-grid{grid-template-columns:1fr}#em-calculator .em-summary{position:static}}
@media(max-width:520px){#em-calculator{padding:24px 0 40px}#em-calculator .em-modern-intro{margin-bottom:22px}#em-calculator .em-journey{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px}#em-calculator .em-details .em-section,#em-calculator .em-contact{padding:18px;border-radius:16px}#em-calculator .em-summary{padding:22px;border-radius:18px}#em-calculator .em-option{font-size:13px;padding:12px 10px}#em-calculator .em-title{font-size:16px}#em-calculator .em-stepper{max-width:none}#em-calculator #em-mail-dialog{padding:20px;border-radius:18px}#em-calculator .em-mail-options{grid-template-columns:1fr 1fr}#em-calculator .em-mail-options .em-primary{grid-column:1/-1}#em-calculator .em-mail-head h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){#em-calculator *{transition:none!important;scroll-behavior:auto!important}}

/* Country fields are scoped to the calculator route only. */
#em-calculator select{display:block;width:100%;min-width:0;min-height:50px;padding:12px;border:1px solid #cfdcd7;border-radius:11px;background:#fbfcfb;color:#133c3c;font:inherit;font-size:16px}
#em-calculator select:focus-visible{outline:3px solid #1c909b;outline-offset:3px}
#em-calculator #calc-country-help{margin:0 0 12px}
#em-calculator #calc-route-status{overflow-wrap:anywhere}
#em-calculator .em-option:has(input:disabled){opacity:.6;cursor:default}

/* Three explicit service choices, with readable mobile cards. */
#em-calculator .em-service-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#em-calculator .em-service-options .em-option{min-width:0}
@media(max-width:700px){#em-calculator .em-service-options{grid-template-columns:1fr}}

/* Planning and completed-work modes. No photo uploader or website storage. */
#em-calculator .em-purpose{margin-bottom:24px;display:grid;grid-template-columns:1fr 1fr}
#em-calculator .em-purpose legend{margin-bottom:10px;font-size:15px}
#em-calculator .em-purpose .em-option{align-items:flex-start;padding:20px}
#em-calculator #em-plan-summary h2{font:800 25px/1.2 var(--font-body);letter-spacing:-.01em;margin-bottom:16px;color:#fff}
#em-calculator #em-plan-summary p{font-size:14px;color:#d0e9e5;line-height:1.7}
#em-calculator #em-plan-overview{margin-top:24px;overflow-wrap:anywhere}
#em-calculator #em-plan-overview dt{font-size:12px;color:#b8d8cf;margin-top:18px}
#em-calculator #em-plan-overview dd{font-size:15px;line-height:1.5;margin:4px 0 0}
#em-calculator .em-photo-note{background:#f2f8f7;border:1px solid #dce7e5;border-radius:12px;padding:16px;margin:20px 0}
#em-calculator .em-photo-note strong{font-size:14px}
#em-calculator .em-title,#em-calculator .em-modern-intro h2{letter-spacing:-.01em;line-height:1.2}
@media(max-width:760px){#em-calculator .em-purpose{grid-template-columns:1fr}#em-calculator .em-purpose .em-option{padding:16px}#em-calculator .em-modern-intro h2{font-size:clamp(26px,7vw,34px);line-height:1.16}#em-calculator input[type=date],#em-calculator input[type=time],#em-calculator input[type=datetime-local]{min-width:0;max-width:100%}}

/* Simpler quote flow: permanent access controls and a visible estimate qualification. */
#em-calculator .em-modern-intro{margin-bottom:22px;max-width:760px}
#em-calculator .em-modern-intro h2{font-size:clamp(26px,3vw,36px)}
#em-calculator .em-journey{margin-top:16px;gap:8px 16px}
#em-calculator .em-purpose .em-option{padding:16px;align-items:center}
#em-calculator .em-estimate-notice{margin:-10px 0 20px;padding:12px;border:1px solid #a7ccc0;border-radius:10px;background:#ffffff0d;color:#e3f3ed;font-size:13px;line-height:1.55}
#em-calculator .em-stop-card{padding:16px;border:1px solid #dce7e2;border-radius:12px;background:#fcfdfc;margin-bottom:12px}
#em-calculator .em-stop-card:has(#calc-from-address),#em-calculator .em-stop-card:has(#calc-to-address){grid-column:1/-1}
#em-calculator .em-stop-order{float:right;margin:-4px 0 8px 8px}
#em-calculator .em-stop-card>label{min-height:44px;display:flex;align-items:center;margin:0 0 8px}
#em-calculator .em-stop-card .em-address-wrap{clear:both}
#em-calculator .em-stop-card .em-stop-details{margin:12px 0 0;border:0;border-top:1px solid #e2eae6;border-radius:0;padding-top:12px;clear:both}
#em-calculator .em-stop-access-title{margin:0 0 12px;font-size:13px;font-weight:750;color:#254748}
#em-calculator .em-stop-card .em-stop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0}
#em-calculator .em-stop-grid>.em-field:first-child{grid-column:1/-1}
#em-calculator .em-stop-grid>.em-location{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;background:none;border:0}
#em-calculator .em-stop-grid .em-field,#em-calculator .em-stop-grid .em-segment{margin:0}
#em-calculator .em-stop-grid .em-stepper{grid-template-columns:38px minmax(0,1fr) 38px;gap:5px}
#em-calculator .em-stop-grid .em-option{padding:10px 8px;min-height:50px;background:#fff}
#em-calculator .em-stop-grid .em-option:has(input:checked){background:#e9f7f3}
@media(max-width:380px){#em-calculator .em-stop-card{padding:12px}#em-calculator .em-stop-card .em-stop-grid,#em-calculator .em-stop-grid>.em-location{grid-template-columns:1fr}#em-calculator .em-stop-grid>.em-field:first-child{grid-column:auto}}
