/* Entidex Bridge for Phone Systems: page furniture used with /site.css.
   Shared by /phone-systems/, its support-dates page, /checklist/switch-off/ and the partner pack. */

/* Hero with the 31 January countdown */
.ph-hero{background:var(--navy);color:#e2e8f0;padding:64px 0 72px;position:relative;overflow:hidden}
.ph-hero:after{content:'';position:absolute;right:-180px;top:-200px;width:620px;height:620px;border-radius:50%;border:1px solid #22d3ee24;box-shadow:0 0 0 90px #22d3ee08;pointer-events:none}
.ph-hero .wrap{position:relative;z-index:1}
.ph-hero .crumbs,.ph-hero .crumbs a{color:#93a3bb}
.ph-hero h1{color:#fff;font-size:clamp(38px,5vw,66px);line-height:1.04;margin-bottom:22px}
.ph-hero h1 .accent{color:var(--cyan)}
.ph-hero .lede{color:#c8d1de;max-width:640px}
.ph-hero .kicker{color:var(--cyan)}
.ph-hero a:not(.button){color:var(--cyan)}
.ph-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.ph-hero .actions{margin-top:30px}
.ph-hero .status-line{color:#aab6c8;border-left-color:var(--cyan);margin-top:22px}

.countdown{border:1px solid #22304d;background:#0b1220;border-radius:14px;padding:26px 26px 22px;box-shadow:0 24px 60px #0000004d}
.countdown .cd-label{font:600 13px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin:0 0 14px}
.cd-units{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:10px;margin:0}
.cd-units div{border:1px solid #22304d;border-radius:8px;padding:12px 8px 10px;text-align:center;background:#0f1a2e;min-width:0}
.cd-units dd{margin:0;font:600 clamp(28px,3.2vw,44px)/1 var(--heading);color:#fff;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cd-units div:first-child dd{color:var(--cyan)}
.cd-units dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#93a3bb;margin-top:6px}
.cd-units div{display:flex;flex-direction:column-reverse}
.countdown .cd-note{font-size:14px;color:#aab6c8;margin:16px 0 0;max-width:none}
.countdown .cd-passed{font:600 22px/1.3 var(--heading);color:#fff;margin:0}
.countdown[data-state=passed] .cd-units{display:none}

/* Audience */
.who{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.who .card h3{font-size:26px}
.who .card ul{margin:14px 0 0;padding-left:20px;font-size:16px;color:var(--muted)}
.who .card li{margin:6px 0}

/* Products */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.product{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:var(--r);padding:24px 22px;background:#fff}
.product.lead{border:2px solid var(--blue);box-shadow:0 14px 34px #1d4ed81a}
.product .tag{align-self:flex-start}
.product h3{font-size:23px;margin:4px 0 0}
.product p{font-size:15.5px;color:var(--muted);margin:0}
.product .price{font:600 30px/1.1 var(--heading);color:var(--ink);letter-spacing:-.03em;margin:6px 0 0}
.product .price small{display:block;font:500 14px/1.45 var(--sans);letter-spacing:0;color:var(--muted);margin-top:4px}
.product ul{margin:4px 0 0;padding-left:18px;font-size:15px;color:var(--muted)}
.product li{margin:4px 0}
.product .go{margin-top:auto;padding-top:8px;font-weight:600}
.product.muted-card{background:var(--pale)}
.vat{font-size:14px;color:var(--muted);margin-top:18px}

/* Founding offer */
.offer{display:grid;grid-template-columns:auto 1fr auto;gap:18px 28px;align-items:center;margin-top:30px;border:1px solid #bfd3f6;border-left:6px solid var(--blue);background:var(--sky);border-radius:var(--r);padding:22px 26px}
.offer .badge{font:600 13px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);white-space:nowrap}
.offer p{margin:0;font-size:16.5px}

/* Survey sections */
.sections{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;counter-reset:sec}
.sections li{counter-increment:sec;display:grid;align-content:start;grid-template-columns:44px 1fr;gap:4px 12px;padding:16px 0;border-top:1px solid var(--line)}
.sections li:before{content:counter(sec,decimal-leading-zero);font:600 15px/1.6 var(--sans);color:var(--blue)}
.sections strong{display:block;font:600 18px/1.35 var(--heading);letter-spacing:-.01em}
.sections small{grid-column:2;display:block;color:var(--muted);font-size:15px;line-height:1.55}
.sections li.key{background:var(--sky);margin:0 -14px;padding:16px 14px;border-radius:8px;border-top-color:transparent}

/* Support-status table: a table on wide screens, stacked cards on phones */
.status-wrap{border-top:2px solid var(--ink)}
.status{width:100%;border-collapse:collapse;font-size:15.5px}
.status caption{text-align:left;font-size:14px;color:var(--muted);padding:0 0 12px;caption-side:bottom;padding-top:14px}
.status th,.status td{text-align:left;vertical-align:top;padding:14px 14px 14px 0;border-bottom:1px solid var(--line)}
.status thead th{font:600 12px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:12px}
.status tbody th{font:600 17px/1.35 var(--heading);letter-spacing:-.01em;width:22%}
.status td.src{font-size:14px;width:18%}
.status td.src a{color:var(--muted)}
.status td.when{width:26%}
.st{display:inline-block;font:600 12px/1.3 var(--sans);letter-spacing:.03em;text-transform:uppercase;padding:4px 8px;border-radius:4px;border:1px solid;white-space:nowrap;margin:0 0 6px}
.st.ended{color:var(--bad);border-color:#efb4b4;background:#fef2f2}
.st.ending{color:var(--amber);border-color:#e2c08d;background:#fffbeb}
.st.ok{color:var(--ok);border-color:#86c79a;background:#f0fdf4}
.st.note{color:var(--muted);border-color:#cbd5e1;background:#f8fafc}
.status .detail{display:block;color:var(--muted);font-size:14.5px;margin-top:2px}
.checked{display:inline-flex;align-items:center;gap:8px;font:600 14px/1.3 var(--sans);color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:30px;padding:6px 14px 6px 10px}
.checked:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--ok)}

/* Refusals */
.never{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.never li{position:relative;padding:15px 0 15px 34px;border-top:1px solid var(--line-dark);font-size:16.5px;color:#c8d1de}
.never li:before{content:'×';position:absolute;left:2px;top:9px;font:500 26px/1 var(--sans);color:#f87171}
.never strong{color:#fff;font-weight:600}

/* Order */
.order{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.order .card h3{font-size:26px}
.order .card .actions{margin-top:18px}
.order .card.partner{background:var(--pale)}
.order dl{margin:14px 0 0;font-size:15.5px;color:var(--muted);display:grid;grid-template-columns:auto 1fr;gap:4px 14px}
.order dt{font-weight:600;color:var(--ink)}
.order dd{margin:0}

/* Sample report placeholder */
.placeholder{border:1px dashed #93a3bb;border-radius:var(--r);padding:24px 26px;background:#fff}
.placeholder h3{font-size:22px;margin-bottom:8px}
.placeholder p{font-size:16px;color:var(--muted);margin:0}

/* Partner tiers and pack */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tier{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:#fff}
.tier h3{font-size:22px;margin-bottom:6px}
.tier .what{font:600 15px/1.4 var(--sans);color:var(--blue);margin:0 0 8px}
.tier p{font-size:15.5px;color:var(--muted);margin:0}
.price-table{width:100%;border-collapse:collapse;font-size:15.5px;margin-top:6px}
.price-table tbody th{font-weight:600}
.price-table th,.price-table td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.price-table thead th{font:600 12px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.price-table td.num{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Switch-off checklist "ask your provider" lines */
.ask{display:block;margin-top:8px;font-size:15px;color:var(--ink);border-left:3px solid var(--cyan);padding-left:10px}
.ask b{font-weight:600;color:var(--blue)}
.src-list{font-size:14px;color:var(--muted);padding-left:20px}
.src-list li{margin:4px 0}
.src-list a{color:var(--muted)}

@media (max-width:1100px){
  .products{grid-template-columns:1fr 1fr}
}
@media (max-width:920px){
  .ph-grid,.who,.order{grid-template-columns:1fr}
  .ph-grid{gap:36px}
  .sections,.never{grid-template-columns:1fr}
  .tiers{grid-template-columns:1fr}
  .offer{grid-template-columns:1fr}
  .status caption{display:block;padding:0 0 12px}
  .status thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .status,.status tbody,.status tr,.status th,.status td{display:block;width:auto!important}
  .status tr{padding:16px 0;border-bottom:1px solid var(--line)}
  .status th,.status td{border:0;padding:3px 0}
  .status td[data-label]:before{content:attr(data-label);display:block;font:600 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:8px}
}
@media (max-width:640px){
  .ph-hero{padding:40px 0 52px}
  .ph-hero h1{font-size:clamp(32px,9.4vw,44px)}
  .countdown{padding:18px 16px 16px}
  .cd-units{grid-template-columns:1fr 1fr 1fr 1fr;gap:6px}
  .cd-units div{padding:10px 2px 8px}
  .cd-units dd{font-size:26px}
  .cd-units dt{font-size:10.5px;letter-spacing:.04em}
  .products{grid-template-columns:1fr}
  .offer{padding:20px}
  .offer .button{width:100%;justify-content:center}
  .sections li.key{margin:0 -8px;padding:16px 8px}
  .price-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .price-table,.price-table tbody,.price-table tr,.price-table th,.price-table td{display:block}
  .price-table tr{padding:10px 0;border-bottom:1px solid var(--line)}
  .price-table th,.price-table td{border:0;padding:2px 0}
  .price-table td.num{white-space:normal}
  .price-table td[data-label]:before{content:attr(data-label) ': ';color:var(--muted)}
  .order dl{grid-template-columns:1fr}
  .order dt{margin-top:6px}
}
@media print{
  .ph-hero{background:#fff;color:#000;padding:0 0 12pt}
  .ph-hero:after,.countdown{display:none}
  .ph-hero h1,.ph-hero .lede{color:#000}
  .ask{border-color:#000;font-size:9.5pt;margin-top:3pt}
  .ask b{color:#000}
  .st{border-color:#000;color:#000;background:#fff}
}

/* Partner pack (prints on one A4 page) */
.nowrap{white-space:nowrap}
.pack-body{padding-top:44px}
.pack-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px}
.pack-grid>div{min-width:0}
.pack-grid h2{font-size:24px;margin:0 0 10px}
.pack-grid h2:not(:first-child){margin-top:26px}
.pack .ticks li{font-size:16px;padding:10px 0 10px 28px}
.pack .ticks li:before{top:10px}
.pack-foot{margin-top:30px;padding-top:18px;border-top:2px solid var(--ink)}
.pack-foot p{max-width:none}
@media (max-width:920px){.pack-grid{grid-template-columns:1fr;gap:20px}}
@media (max-width:640px){.pack-foot .nowrap{white-space:normal;overflow-wrap:anywhere}}
@media print{
  @page{size:A4;margin:12mm}
  .pack .page-hero{padding:0 0 8pt}
  .pack .page-hero h1{font-size:22pt;margin-bottom:8pt}
  .pack .page-hero .lede{font-size:11.5pt;margin-bottom:0}
  .pack .kicker{font-size:8pt;margin-bottom:6pt}
  .pack-body{padding:6pt 0 0!important}
  .pack-grid{grid-template-columns:1.2fr .8fr;gap:18pt;font-size:10.5pt}
  .pack-grid h2{font-size:12.5pt;margin-bottom:4pt}
  .pack-grid h2:not(:first-child){margin-top:10pt}
  .pack .small{font-size:10pt}
  .pack .price-table{font-size:9.5pt}
  .pack .price-table td.num{white-space:normal}
  .pack .price-table th,.pack .price-table td{padding:3pt 5pt 3pt 0}
  .pack .ticks li{font-size:10pt;padding:4pt 0 4pt 14pt}
  .pack .ticks li:before{top:3pt;left:0}
  .pack .ticks small{font-size:9.5pt;color:#333}
  .pack-foot{margin-top:14pt;padding-top:8pt;font-size:10pt}
}

/* Co-brandable printed checklist: partner logo beside the Entidex Bridge name, never inside it */
.cobrand{display:none}
@media print{
  .print-only.cobrand{display:flex!important;justify-content:space-between;align-items:center;gap:16pt;border-bottom:1pt solid #000;padding:0 0 8pt;margin:0 0 10pt}
  .cobrand-partner{flex:1;min-height:34pt;border:1pt dotted #666;padding:4pt 8pt;font-size:8.5pt;color:#555;display:flex;align-items:center}
  .cobrand-bridge{flex:1;display:flex;align-items:center;gap:10pt;font-size:8.5pt;color:#333}
  .cobrand-bridge img{width:110pt;height:auto;flex:none}
}
