/* Pyrénées Chauffeur Privé: mobile access to the fare calculator.
   Loaded after each page's existing styles; desktop layout stays as published. */
.mobile-status-text { display:none; }
.language-strip a { color:inherit; text-decoration:none; }
body[data-vtcp-page="service"] .mobile-actions { display:none; }

@media (max-width:620px) {
  body[data-vtcp-page="home"] .status,
  body[data-vtcp-page="service"] .status {
    padding:5px 9px;
    font-size:12px;
    line-height:1.3;
    text-align:center;
  }
  .desktop-status-text { display:none; }
  .mobile-status-text { display:inline; font-weight:800; }
  body[data-vtcp-lang="fr"][data-vtcp-page="home"] .status-inner { gap:3px; }
  body[data-vtcp-lang="fr"][data-vtcp-page="home"] .language-switch { gap:6px; }
  body[data-vtcp-lang="fr"][data-vtcp-page="home"] .language-switch a {
    min-height:29px; padding:5px 9px;
  }

  /* Keep the photo and typography while showing the first action sooner. */
  body[data-vtcp-page="home"] .hero,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero {
    display:block;
    min-height:0;
    padding:30px 18px 94px;
  }
  body[data-vtcp-page="home"] .hero-content,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero-inner {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  body[data-vtcp-page="home"] .hero h1,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero h1 {
    font-size:clamp(31px,8.4vw,39px);
    line-height:1.09;
    margin:0 0 8px;
  }
  body[data-vtcp-page="home"] .hero .kicker,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .kicker,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .tag {
    margin:0 0 11px;
    font-size:10px;
    line-height:1.4;
  }
  body[data-vtcp-page="home"] .hero .buttons,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .buttons,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .btns {
    display:contents;
  }
  body[data-vtcp-page="home"] .hero .button-gold,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .button-gold,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .btn.gold {
    order:1;
    width:100%;
    min-height:49px;
    margin:7px 0 0;
    text-align:center;
  }
  body[data-vtcp-page="home"] .hero p,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero p {
    order:2;
    font-size:15px;
    line-height:1.5;
    margin:18px 0 3px;
  }
  body[data-vtcp-page="home"] .hero .button-outline,
  body[data-vtcp-page="home"] .hero .button-wa,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .button-outline,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .button-wa,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .btn:not(.gold) {
    order:3;
    width:100%;
    margin:9px 0 0;
    text-align:center;
  }
  body[data-vtcp-page="home"] .hero .proof,
  body[data-vtcp-page="home"] .hero .language-panel,
  body[data-vtcp-lang="fr"][data-vtcp-page="service"] .hero .proof {
    order:4;
  }

  /* Translated destination pages use a smaller, separate template. */
  body[data-vtcp-lang="en"][data-vtcp-page="service"] .hero,
  body[data-vtcp-lang="es"][data-vtcp-page="service"] .hero {
    padding:30px 0 88px;
  }
  body[data-vtcp-lang="en"][data-vtcp-page="service"] .hero .wrap,
  body[data-vtcp-lang="es"][data-vtcp-page="service"] .hero .wrap {
    display:flex;
    flex-direction:column;
  }
  body[data-vtcp-lang="en"][data-vtcp-page="service"] .hero h1,
  body[data-vtcp-lang="es"][data-vtcp-page="service"] .hero h1 {
    font-size:clamp(29px,8vw,37px);
    line-height:1.12;
    margin:11px 0 5px;
  }
  body[data-vtcp-lang="en"][data-vtcp-page="service"] .hero .actions,
  body[data-vtcp-lang="es"][data-vtcp-page="service"] .hero .actions {
    display:contents;
  }
  body[data-vtcp-lang="en"][data-vtcp-page="service"] .hero .actions .btn:first-child,
  body[data-vtcp-lang="es"][data-vtcp-page="service"] .hero .actions .btn:first-child {
    order:1; margin:9px 0 0; min-height:49px;
  }
  body[data-vtcp-lang="en"][data-vtcp-page="service"] .hero p,
  body[data-vtcp-lang="es"][data-vtcp-page="service"] .hero p {
    order:2; font-size:15px; line-height:1.5; margin:17px 0 0;
  }
  body[data-vtcp-lang="en"][data-vtcp-page="service"] .hero .actions .btn.alt,
  body[data-vtcp-lang="es"][data-vtcp-page="service"] .hero .actions .btn.alt {
    order:3; margin:10px 0 0;
  }

  /* One persistent primary action and one contact option on small screens. */
  body[data-vtcp-page="home"], body[data-vtcp-page="service"] {
    padding-bottom:80px;
  }
  body[data-vtcp-page="home"] .mobile-actions,
  body[data-vtcp-page="service"] .mobile-actions {
    position:fixed;
    z-index:60;
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
    gap:7px;
    right:10px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    left:10px;
    padding:7px;
    border-radius:12px;
    background:rgba(17,24,39,.97);
  }
  .mobile-actions a {
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:48px;
    padding:7px 5px;
    border-radius:8px;
    text-align:center;
    text-decoration:none;
    line-height:1.15;
    font:800 13px Arial,sans-serif;
  }
  .mobile-actions .mobile-fare { background:#c4a35a; color:#172334; }
  .mobile-actions .mobile-whatsapp { background:#25d366; color:#06200e; }
  #vtcp-consent-settings {
    bottom:calc(84px + env(safe-area-inset-bottom)) !important;
  }
  body:has(#vtcp-consent:not([hidden])) .mobile-actions,
  body:has(#vtcp-consent:not([hidden])) #vtcp-consent-settings {
    display:none !important;
  }
}

@media (max-width:700px) {
  /* The first route field follows a short reassurance, not several panels. */
  body[data-vtcp-page="quote"] .topbar { padding:10px 12px; }
  body[data-vtcp-page="quote"] .topbar-inner {
    flex-direction:row; align-items:center; gap:8px;
  }
  body[data-vtcp-page="quote"] .brand { font-size:13px; line-height:1.2; }
  body[data-vtcp-page="quote"] .back { font-size:12px; white-space:nowrap; }
  body[data-vtcp-page="quote"] .status { display:none; }
  body[data-vtcp-page="quote"] header { padding:16px 12px 12px; }
  body[data-vtcp-page="quote"] header h1 { font-size:24px; line-height:1.18; }
  body[data-vtcp-page="quote"] header p { display:none; }
  body[data-vtcp-page="quote"] .language-strip { margin-top:9px; gap:6px; }
  body[data-vtcp-page="quote"] .language-strip span {
    padding:4px 9px; font-size:12px;
  }
  body[data-vtcp-page="quote"] main { margin:10px auto; padding:0 12px 32px; }
  body[data-vtcp-page="quote"] main > .intl-notice,
  body[data-vtcp-page="quote"] main > .booking-notice,
  body[data-vtcp-page="quote"] main > .notice,
  body[data-vtcp-page="quote"] main > .steps { display:none; }
  body[data-vtcp-page="quote"] .card { padding:15px; }
  body[data-vtcp-page="quote"] .stage-heading p { display:none; }
  body[data-vtcp-page="quote"] .privacy-badge { margin-bottom:12px; }
  body[data-vtcp-page="quote"] #vtcp-consent-settings { bottom:12px !important; }
}

/* 20 September: place the fare before contact and the route before explanations. */
@media (max-width:700px) {
  body[data-vtcp-page="home"] .hero .button-outline,
  body[data-vtcp-page="home"] .hero .button-wa,
  body[data-vtcp-page="service"] .hero .button-outline,
  body[data-vtcp-page="service"] .hero .button-wa,
  body[data-vtcp-page="service"] .hero .btn:not(.gold),
  body[data-vtcp-page="service"] .hero .actions .btn.alt {
    display:none;
  }
  body[data-vtcp-page="home"] .mobile-actions,
  body[data-vtcp-page="service"] .mobile-actions {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-vtcp-page="home"] .mobile-actions .mobile-whatsapp,
  body[data-vtcp-page="service"] .mobile-actions .mobile-whatsapp {
    display:none;
  }

  body[data-vtcp-page="quote"] .topbar { padding:7px 12px; }
  body[data-vtcp-page="quote"] .topbar-inner { flex-wrap:wrap; }
  body[data-vtcp-page="quote"] header { padding:9px 12px 8px; }
  body[data-vtcp-page="quote"] header h1 { font-size:20px; line-height:1.15; }
  body[data-vtcp-page="quote"] .language-strip { margin-top:6px; }
  body[data-vtcp-page="quote"] .language-strip span { padding:3px 8px; }
  body[data-vtcp-page="quote"] main { margin:6px auto; padding:0 12px 30px; }
  body[data-vtcp-page="quote"] #quoteStep { padding:11px 12px; }
  body[data-vtcp-page="quote"] #quoteStep .stage-heading { margin-bottom:8px; gap:8px; }
  body[data-vtcp-page="quote"] #quoteStep .stage-heading h2 { font-size:18px; }
  body[data-vtcp-page="quote"] #quoteStep .stage-number {
    width:26px; height:26px; flex-basis:26px; font-size:14px;
  }
  body[data-vtcp-page="quote"] #quoteStep .privacy-badge { display:none; }
  body[data-vtcp-page="quote"] #quoteStep .grid,
  body[data-vtcp-page="quote"] #form > .grid { gap:9px; }
  body[data-vtcp-page="quote"] #quoteStep label,
  body[data-vtcp-page="quote"] #form > .grid label { margin-bottom:3px; }
  body[data-vtcp-page="quote"] #quoteStep input,
  body[data-vtcp-page="quote"] #quoteStep select,
  body[data-vtcp-page="quote"] #form > .grid > .address-wrap input {
    padding:9px 10px; min-height:42px;
  }
  body[data-vtcp-page="quote"] .address-status:not(.ok):not(.warning) { display:none; }
  body[data-vtcp-page="quote"] #form.card { padding:11px 12px; }
}
