/* 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; } }
