/*
Theme Name: Abu Dhabi Layover Tours
Theme URI: https://abudhabilayovertours.com
Author: Abu Dhabi Layover Tours
Description: Custom theme for Abu Dhabi Layover Tours - layover tour operator at Zayed International Airport. Sunset Corniche brand system, tour + guide custom post types, WhatsApp-first booking.
Version: 1.0.0
Requires PHP: 7.4
License: Proprietary
Text Domain: adlt
*/

  :root { --indigo:#2B2D64; --ink:#1E2049; --orange:#FF7A48; --orange-d:#E86636; --sand:#F5E6C8; --sand-l:#FBF6EA; --grey:#5D5F7E; --line:#E8E8F0; }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { font-family:'Space Grotesk',system-ui,sans-serif; background:#FFFFFF; color:var(--ink); line-height:1.6; }
  .wrap { max-width:1140px; margin:0 auto; padding:0 24px; }
  h1,h2,h3 { line-height:1.15; font-weight:700; }

  /* NAV */
  nav { position:sticky; top:0; background:#FFFFFFEE; backdrop-filter:blur(8px); border-bottom:1px solid var(--line); z-index:50; }
  .nav-in { display:flex; align-items:center; justify-content:space-between; height:72px; }
  .logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
  .logo svg { width:40px; height:40px; }
  .logo b { font-size:1.05rem; } .logo b span { display:block; font-size:.62rem; font-weight:500; letter-spacing:.32em; color:var(--orange); text-transform:uppercase; }
  .nav-links { display:flex; gap:28px; } .nav-links a { color:var(--grey); text-decoration:none; font-size:.92rem; }
  .nav-links a:hover { color:var(--orange); }
  @media(max-width:760px) { .nav-links { display:none; } }

  /* HERO */
  .hero { padding:72px 0 56px; }
  .hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
  @media(max-width:900px) { .hero-grid { grid-template-columns:1fr; } }
  .eyebrow { font-size:.78rem; letter-spacing:.28em; text-transform:uppercase; color:var(--orange); font-weight:500; margin-bottom:18px; }
  .hero h1 { font-size:clamp(2.2rem,5vw,3.4rem); }
  .hero h1 em { font-style:normal; color:var(--orange); }
  .hero p.lead { margin:20px 0 8px; font-size:1.12rem; color:var(--grey); max-width:34rem; }
  .pick-label { margin-top:28px; font-size:.85rem; font-weight:500; color:var(--ink); }
  .chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
  .chips a { padding:12px 20px; border:2px solid var(--indigo); border-radius:999px; color:var(--indigo); text-decoration:none; font-weight:500; font-size:.95rem; transition:.15s; }
  .chips a:hover { background:var(--indigo); color:#fff; }
  .chips a.hot { background:var(--orange); border-color:var(--orange); color:#fff; }
  .chips a.hot:hover { background:var(--orange-d); border-color:var(--orange-d); }
  .hero-img { border-radius:20px; overflow:hidden; box-shadow:0 24px 60px -20px #2B2D6455; }
  .hero-img img { width:100%; display:block; }
  .trustbar { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:56px; border:1px solid var(--line); border-radius:16px; padding:20px 12px; }
  @media(max-width:860px) { .trustbar { grid-template-columns:repeat(2,1fr); } }
  .trust { text-align:center; font-size:.82rem; color:var(--grey); }
  .trust b { display:block; color:var(--ink); font-size:.95rem; margin-top:4px; }
  .trust .ic { font-size:1.3rem; }

  /* GUARANTEE */
  .guarantee { background:var(--indigo); color:#fff; padding:72px 0; margin-top:72px; }
  .guarantee h2 { font-size:clamp(1.7rem,3.5vw,2.4rem); max-width:30rem; }
  .guarantee h2 em { font-style:normal; color:var(--orange); }
  .g-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:44px; }
  @media(max-width:860px) { .g-grid { grid-template-columns:1fr; } }
  .g-card { background:#34377A; border-radius:16px; padding:28px; }
  .g-card .n { font-size:2rem; color:var(--orange); font-weight:700; }
  .g-card h3 { margin:10px 0 8px; font-size:1.12rem; color:var(--sand); }
  .g-card p { font-size:.92rem; color:#C9CBEA; }

  /* CAN I LEAVE */
  .canleave { padding:72px 0; }
  .cl-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  @media(max-width:900px) { .cl-grid { grid-template-columns:1fr; } }
  .cl-grid img { width:100%; border-radius:20px; box-shadow:0 24px 60px -24px #2B2D6440; }
  .canleave h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:16px; }
  .canleave p { color:var(--grey); margin-bottom:14px; }
  .canleave .yes { display:inline-block; background:var(--sand); color:var(--ink); border-radius:12px; padding:14px 18px; font-weight:500; margin-bottom:14px; }

  /* TOURS */
  .tours { background:var(--sand-l); padding:80px 0; }
  .tours h2 { font-size:clamp(1.7rem,3.5vw,2.4rem); }
  .tours .sub { color:var(--grey); margin-top:10px; max-width:36rem; }
  .t-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; }
  @media(max-width:960px) { .t-grid { grid-template-columns:1fr; } }
  .t-card { background:#fff; border-radius:18px; overflow:hidden; border:1px solid var(--line); display:flex; flex-direction:column; }
  .t-top { background:var(--indigo); color:#fff; padding:22px 24px 18px; position:relative; }
  .t-top .dur { position:absolute; top:18px; right:18px; background:var(--orange); border-radius:999px; padding:4px 12px; font-size:.75rem; font-weight:700; }
  .t-top h3 { font-size:1.18rem; padding-right:70px; }
  .t-body { padding:22px 24px 26px; display:flex; flex-direction:column; gap:0; flex:1; }
  .t-body ul { list-style:none; margin-bottom:18px; }
  .t-body li { font-size:.9rem; color:var(--grey); padding:5px 0 5px 24px; position:relative; }
  .t-body li::before { content:"✦"; position:absolute; left:2px; color:var(--orange); }
  .price { margin-top:auto; border-top:1px dashed var(--line); padding-top:16px; }
  .price b { font-size:1.5rem; color:var(--ink); } .price span { font-size:.82rem; color:var(--grey); display:block; }
  .t-cta { margin-top:14px; display:block; text-align:center; background:var(--orange); color:#fff; font-weight:700; padding:13px; border-radius:12px; text-decoration:none; }
  .t-cta:hover { background:var(--orange-d); }
  .addon { margin-top:26px; background:#fff; border:2px dashed var(--orange); border-radius:16px; padding:20px 24px; display:flex; flex-wrap:wrap; gap:8px 24px; align-items:center; font-size:.95rem; }
  .addon b { color:var(--orange-d); }

  /* HOW IT WORKS */
  .how { padding:80px 0; }
  .how h2 { font-size:clamp(1.7rem,3.5vw,2.4rem); }
  .steps { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:44px; }
  @media(max-width:900px) { .steps { grid-template-columns:repeat(2,1fr); } }
  .step { border:1px solid var(--line); border-radius:16px; padding:24px; }
  .step .k { width:38px; height:38px; border-radius:50%; background:var(--indigo); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:14px; }
  .step h3 { font-size:1.02rem; margin-bottom:6px; }
  .step p { font-size:.88rem; color:var(--grey); }

  /* GALLERY BAND */
  .band { padding:0 0 80px; }
  .band-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
  @media(max-width:800px) { .band-grid { grid-template-columns:1fr; } }
  .band img { width:100%; border-radius:18px; display:block; box-shadow:0 20px 50px -22px #2B2D6440; }

  /* DETAILS: languages + fleet */
  .details { background:var(--indigo); color:#fff; padding:76px 0; }
  .d-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; }
  @media(max-width:860px) { .d-grid { grid-template-columns:1fr; } }
  .details h2 { font-size:1.6rem; color:var(--sand); margin-bottom:16px; }
  .langs { display:flex; flex-wrap:wrap; gap:10px; }
  .langs span { border:1px solid #5A5D9C; border-radius:999px; padding:8px 16px; font-size:.9rem; }
  .details p.note { margin-top:14px; font-size:.85rem; color:#C9CBEA; }
  .fleet li { list-style:none; padding:10px 0; border-bottom:1px solid #41447F; font-size:.95rem; color:#E4E5F7; }
  .fleet b { color:var(--orange); }

  /* FAQ */
  .faq { padding:80px 0; }
  .faq h2 { font-size:clamp(1.7rem,3.5vw,2.4rem); margin-bottom:36px; }
  details { border-bottom:1px solid var(--line); }
  summary { cursor:pointer; padding:20px 4px; font-weight:500; font-size:1.02rem; list-style:none; display:flex; justify-content:space-between; gap:16px; }
  summary::after { content:"+"; color:var(--orange); font-size:1.4rem; font-weight:700; }
  details[open] summary::after { content:"–"; }
  details p { padding:0 4px 20px; color:var(--grey); font-size:.95rem; max-width:52rem; }

  footer { background:var(--ink); color:#A9ABD3; padding:48px 0 90px; font-size:.85rem; }
  .f-grid { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; align-items:center; }
  footer b { color:#fff; }

  /* WhatsApp float */
  .wa { position:fixed; right:22px; bottom:22px; width:62px; height:62px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px -6px #25D36699; z-index:99; transition:.15s; }
  .wa:hover { transform:scale(1.07); }
  .wa svg { width:32px; height:32px; fill:#fff; }

/* ---- shared page-template styles ---- */

  :root { --indigo:#2B2D64; --ink:#1E2049; --orange:#FF7A48; --orange-d:#E86636; --sand:#F5E6C8; --sand-l:#FBF6EA; --grey:#5D5F7E; --line:#E8E8F0; }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { font-family:'Space Grotesk',system-ui,sans-serif; background:#fff; color:var(--ink); line-height:1.65; }
  .wrap { max-width:1080px; margin:0 auto; padding:0 24px; }
  h1,h2,h3 { line-height:1.15; font-weight:700; }
  nav { position:sticky; top:0; background:#FFFFFFEE; backdrop-filter:blur(8px); border-bottom:1px solid var(--line); z-index:50; }
  .nav-in { display:flex; align-items:center; justify-content:space-between; height:72px; }
  .logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
  .logo svg { width:40px; height:40px; }
  .logo b { font-size:1.05rem; } .logo b span { display:block; font-size:.62rem; font-weight:500; letter-spacing:.32em; color:var(--orange); text-transform:uppercase; }
  .nav-links { display:flex; gap:26px; } .nav-links a { color:var(--grey); text-decoration:none; font-size:.92rem; }
  .nav-links a:hover { color:var(--orange); }
  @media(max-width:760px){ .nav-links{display:none;} }
  .crumb { font-size:.82rem; color:var(--grey); padding:22px 0 0; }
  .crumb a { color:var(--orange); text-decoration:none; }
  .hero-p { padding:26px 0 40px; }
  .hero-p h1 { font-size:clamp(1.9rem,4.5vw,2.9rem); max-width:46rem; }
  .hero-p .meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
  .meta span { background:var(--sand-l); border:1px solid var(--line); border-radius:999px; padding:7px 15px; font-size:.85rem; }
  .lead { margin-top:18px; color:var(--grey); font-size:1.08rem; max-width:44rem; }
  .heroimg { width:100%; border-radius:20px; margin-top:34px; box-shadow:0 24px 60px -24px #2B2D6440; }
  .grid2 { display:grid; grid-template-columns:1.5fr 1fr; gap:44px; padding:44px 0 72px; align-items:start; }
  @media(max-width:880px){ .grid2{grid-template-columns:1fr;} }
  .content h2 { font-size:1.5rem; margin:38px 0 14px; }
  .content h2:first-child { margin-top:0; }
  .content p { color:var(--grey); margin-bottom:14px; }
  .content ul { margin:0 0 14px 20px; color:var(--grey); }
  .content li { margin-bottom:8px; }
  .timeline { list-style:none; margin:22px 0 8px !important; border-left:3px solid var(--orange); }
  .timeline li { padding:0 0 22px 22px; position:relative; margin:0 !important; }
  .timeline li::before { content:""; position:absolute; left:-9px; top:6px; width:15px; height:15px; border-radius:50%; background:var(--orange); border:3px solid #fff; }
  .timeline b { color:var(--ink); display:block; font-size:.98rem; }
  .timeline small { color:var(--grey); }
  .callout { background:var(--sand-l); border-left:4px solid var(--orange); border-radius:0 12px 12px 0; padding:18px 20px; margin:22px 0; font-size:.95rem; color:var(--ink); }
  .book { position:sticky; top:96px; border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:0 18px 44px -26px #2B2D6433; }
  .book .p { font-size:2rem; font-weight:700; } .book .p small { font-size:.85rem; color:var(--grey); font-weight:400; display:block; }
  .book ul { list-style:none; margin:18px 0; }
  .book li { font-size:.88rem; color:var(--grey); padding:6px 0 6px 24px; position:relative; }
  .book li::before { content:"✓"; position:absolute; left:0; color:var(--orange); font-weight:700; }
  .cta { display:block; text-align:center; background:var(--orange); color:#fff; font-weight:700; padding:15px; border-radius:12px; text-decoration:none; }
  .cta:hover { background:var(--orange-d); }
  .book .note { font-size:.78rem; color:var(--grey); margin-top:12px; text-align:center; }
  .faq { padding:0 0 72px; }
  .faq h2 { font-size:1.6rem; margin-bottom:22px; }
  details { border-bottom:1px solid var(--line); }
  summary { cursor:pointer; padding:18px 4px; font-weight:500; list-style:none; display:flex; justify-content:space-between; gap:16px; }
  summary::after { content:"+"; color:var(--orange); font-size:1.3rem; font-weight:700; }
  details[open] summary::after { content:"–"; }
  details p { padding:0 4px 18px; color:var(--grey); font-size:.94rem; max-width:50rem; }
  .xlink { background:var(--indigo); color:#fff; border-radius:18px; padding:30px; margin:0 0 72px; }
  .xlink h3 { color:var(--sand); margin-bottom:8px; }
  .xlink a { color:var(--orange); }
  footer { background:var(--ink); color:#A9ABD3; padding:44px 0 92px; font-size:.85rem; }
  .f-grid { display:flex; flex-wrap:wrap; justify-content:space-between; gap:22px; }
  footer b { color:#fff; }
  .wa { position:fixed; right:22px; bottom:22px; width:62px; height:62px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px -6px #25D36699; z-index:99; transition:.15s; }
  .wa:hover { transform:scale(1.07); }
  .wa svg { width:32px; height:32px; fill:#fff; }

  table.pt { width:100%; border-collapse:collapse; margin:20px 0; font-size:.93rem; }
  .pt th { background:var(--indigo); color:#fff; text-align:left; padding:12px 14px; }
  .pt td { border-bottom:1px solid var(--line); padding:12px 14px; color:var(--grey); }
  .pt td b { color:var(--ink); }
  .pt tr td:last-child { white-space:nowrap; }

/* ---- WP additions ---- */
.entry-content img { max-width:100%; height:auto; border-radius:16px; }
.screen-reader-text { position:absolute; clip:rect(1px,1px,1px,1px); }
