/* Extracted from resources/views/tour/layout.blade.php. */
:root { --ink:#14231f; --muted:#53635e; --faint:#82908a; --line:#dfe8e3;
    --bg:#faf8f3; --card:#fffefa; --teal:#13b29c; --teal-d:#0c7e6f; --teal-l:#e9f5f1; --warm:#e8825a; --warm-l:#fdefe8;
    --serif:"Iowan Old Style","Palatino Linotype",Georgia,serif; --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --shadow:0 12px 34px rgba(20,60,52,.08); }
  * { box-sizing:border-box; }
  body { margin:0; font:15px/1.55 var(--sans); color:var(--ink); background:var(--bg); }
  a { color:var(--teal-d); text-decoration:none; }
  img { display:block; max-width:100%; }
  .nav { position:sticky; top:0; z-index:30; display:flex; align-items:center; justify-content:center;
    padding:12px 0; background:rgba(244,248,246,.82); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
  .navin { width:100%; max-width:1320px; padding:0 clamp(16px,3.5vw,40px); display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .nav .brand { display:inline-flex; align-items:center; gap:9px; font-weight:800; font-size:22px; letter-spacing:-.03em; color:var(--ink); white-space:nowrap; }
  .nav .brand .brandtext { white-space:nowrap; }
  .nav .brand-ai { font-size:22px; letter-spacing:-.03em; color:#0c7566; font-weight:800; margin-left:2px; }
  .nav .brand-ai-spark { width:30px; height:30px; margin-left:0; flex:none; transform:translateY(1px); filter:drop-shadow(0 2px 3px rgba(12,95,85,.16)); }
  .nav .brand-ai-spark .spark-back { fill:#3ad9c4; opacity:.95; }
  .nav .brand-ai-spark .spark-front { fill:#0c7566; }
  .nav .brandmark { width:29px; height:29px; flex:none; }
  .nav .links { display:flex; align-items:center; gap:18px; color:var(--muted); font-size:13px; font-weight:600; }
  .nav .links a { color:var(--muted); }
  .nav .links a:hover { color:var(--ink); }
  .nav .links .nav-product { color:var(--teal-d); }
  .nav .cta { background:var(--teal); color:#fff; font-weight:700; font-size:13px; padding:8px 15px; border-radius:999px; border:0; }
  .nav .usermenu { position:relative; margin-left:6px; }
  .nav .usermenu > summary { list-style:none; cursor:pointer; display:inline-flex; }
  .nav .usermenu > summary::-webkit-details-marker { display:none; }
  .nav .usermenu img, .nav .usermenu .uavatar-ph { width:32px; height:32px; border-radius:999px; object-fit:cover;
    border:1px solid var(--line); box-shadow:0 1px 3px rgba(0,0,0,.12); }
  .nav .usermenu .uavatar-ph { display:inline-flex; align-items:center; justify-content:center; background:var(--teal);
    color:#fff; font-weight:800; font-size:15px; }
  .nav .usermenu .umenu { position:absolute; right:0; top:calc(100% + 8px); min-width:190px; background:#fff;
    border:1px solid var(--line); border-radius:14px; box-shadow:0 12px 28px rgba(0,0,0,.14); padding:6px; z-index:40; }
  .nav .usermenu .umenu .uname { font-weight:700; font-size:13px; color:var(--ink); padding:8px 10px 6px; border-bottom:1px solid var(--line); margin-bottom:4px; }
  .nav .usermenu .umenu a, .nav .usermenu .umenu button { display:block; width:100%; text-align:left; padding:9px 10px;
    border-radius:9px; font-size:14px; color:var(--ink); background:none; border:0; cursor:pointer; }
  .nav .usermenu .umenu a:hover, .nav .usermenu .umenu button:hover { background:var(--bg2,#eef4f1); }
  .nav .usermenu .umenu button { color:#c0392b; font-weight:600; }
  /* ✨ search */
  .nav .navright { margin-left:auto; display:inline-flex; align-items:center; gap:8px; }
  .navsearch { display:inline-flex; align-items:center; gap:7px; background:#0c7566; color:#fff;
    border:0; border-radius:999px; padding:8px 15px 8px 12px; font-weight:700; font-size:13px; cursor:pointer; }
  .navsearch .spk { width:16px; height:16px; }
  .spk { filter:drop-shadow(0 0 2px rgba(255,255,255,.5)); }
  .heroSearch { display:inline-flex; align-items:center; gap:9px; background:var(--teal); color:#fff; border:0;
    border-radius:999px; padding:13px 26px; font-size:16px; font-weight:700; cursor:pointer; box-shadow:var(--shadow); }
  .heroSearch .spk { width:18px; height:18px; }
  .tsearch[hidden] { display:none !important; }
  .tsearch { position:fixed; inset:0; z-index:60; background:rgba(8,20,17,.45); backdrop-filter:blur(3px);
    display:flex; justify-content:center; align-items:flex-start; padding:10vh 16px 16px; }
  .tsearch-box { width:100%; max-width:560px; background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.3); overflow:hidden; }
  .tsearch-top { display:flex; align-items:center; gap:10px; padding:14px 16px; border-bottom:1px solid var(--line); }
  .tsearch-top .spk { width:20px; height:20px; color:var(--teal); flex:none; }
  .tsearch-top input { flex:1; border:0; outline:0; font-size:17px; color:var(--ink); background:none; }
  .tsearch-top > button { border:0; background:none; font-size:24px; line-height:1; color:var(--muted); cursor:pointer; padding:0 4px; }
  .tsearch-results { max-height:60vh; overflow:auto; }
  .tsg { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--faint,#9aa); padding:12px 16px 4px; }
  .tsr { display:flex; align-items:center; gap:12px; padding:9px 16px; color:var(--ink); }
  .tsr:hover { background:var(--bg2,#eef4f1); }
  .tsr img { width:42px; height:42px; border-radius:8px; object-fit:cover; flex:none; }
  .tsr-ic { width:42px; height:42px; border-radius:8px; flex:none; display:flex; align-items:center; justify-content:center; background:#eef4f1; color:var(--teal); font-size:18px; }
  .tsr-t { display:flex; flex-direction:column; min-width:0; }
  .tsr-t b { font-size:15px; }
  .tsr-t small { color:var(--muted); font-size:12px; text-transform:capitalize; }
  .tsne { padding:18px 16px; color:var(--muted); }
  .tsai { display:flex; width:100%; align-items:center; gap:8px; padding:12px 16px; border:0; border-bottom:1px solid var(--line);
    background:#eafaf7; color:var(--teal-d,#0c5f55); font-weight:700; font-size:14px; cursor:pointer; text-align:left; }
  .tsai:hover { background:#ddf3ee; }
  .tsai .spk { width:16px; height:16px; flex:none; }
  .tsai-ans { padding:16px; line-height:1.55; color:var(--ink); font-size:15px; }
  .tsai-ans a { color:var(--teal-d,#0c5f55); text-decoration:underline; }
  @media (max-width:680px){ .nav .links { display:none; } .navsearch span { display:none; } .navsearch { padding:8px 11px; }
    .heroSearch { display:flex; width:100%; justify-content:center; } }
  .wrap { max-width:1060px; margin:0 auto; padding:24px 18px 70px; }
  h1.serif, h2.serif { font-family:var(--serif); font-weight:600; letter-spacing:-.01em; }

  /* hero */
  .hero { position:relative; border-radius:22px; overflow:hidden; padding:54px 40px; color:#fff;
    background:linear-gradient(120deg,#0c4a44,#13b29c 80%), radial-gradient(120% 90% at 80% 10%, rgba(255,255,255,.18), transparent 50%); }
  .hero::after { content:''; position:absolute; inset:0; background:radial-gradient(140% 120% at 78% 8%, rgba(232,130,90,.30), transparent 46%); mix-blend-mode:soft-light; }
  .hero > * { position:relative; z-index:1; }
  .hero h1 { font-family:var(--serif); font-size:42px; line-height:1.04; margin:0 0 10px; max-width:13ch; }
  .hero p { font-size:16px; max-width:42ch; opacity:.92; margin:0 0 22px; }
  .searchbar { display:flex; gap:8px; background:#fff; border-radius:14px; padding:8px; max-width:520px; box-shadow:var(--shadow); }
  .searchbar input { flex:1; border:0; outline:0; font-size:15px; padding:8px 10px; color:var(--ink); background:none; }
  .searchbar button { width:46px; border:0; border-radius:10px; background:var(--teal); color:#fff; font-size:18px; }
  .chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
  .chips a { background:rgba(255,255,255,.16); color:#fff; font-size:12.5px; font-weight:600; padding:6px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.22); }

  /* how it works */
  .how { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:40px 0 8px; }
  .how .c { text-align:center; padding:0 8px; }
  .how .ic { width:46px; height:46px; margin:0 auto 10px; border:1.5px solid var(--teal); border-radius:13px; display:grid; place-items:center; color:var(--teal-d); font-size:20px; }
  .how .c b { display:block; margin-bottom:3px; }
  .how .c span { color:var(--muted); font-size:13.5px; }
  @media (max-width:680px){ .how { grid-template-columns:1fr; gap:14px; } }

  .sec-h { font-family:var(--serif); font-size:22px; margin:38px 0 14px; }
  .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
  .rcard { display:block; background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); transition:.16s; }
  .rcard:hover { transform:translateY(-3px); box-shadow:0 16px 36px rgba(19,178,156,.14); }
  .rcard .ph { height:96px; background:linear-gradient(120deg,#0c7e6f,#13b29c); position:relative; }
  .rcard .ph::after { content:''; position:absolute; inset:0; background:radial-gradient(120% 100% at 80% 0,rgba(232,130,90,.45),transparent 55%); }
  .rcard .bd { padding:11px 14px; }
  .rcard .nm { font-weight:700; font-size:16px; }
  .rcard .ct { color:var(--faint); font-size:12.5px; margin-top:1px; }

  /* resort layout */
  .rhead { display:flex; align-items:center; gap:16px; margin:6px 0 4px; }
  .scorebadge { width:58px; height:58px; flex:none; border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:800; font-size:20px; background:conic-gradient(var(--teal) calc(var(--v,50)*1%), #dfe9e6 0); position:relative; }
  .scorebadge i { position:absolute; inset:5px; border-radius:50%; background:var(--card); display:grid; place-items:center; color:var(--teal-d); font-style:normal; }
  .split { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; align-items:start; margin-top:14px; }
  @media (max-width:820px){ .split { grid-template-columns:1fr; } }
  #map { height:340px; border-radius:18px; border:1px solid var(--line); box-shadow:var(--shadow); z-index:0; }
  .panel { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:16px 18px; box-shadow:var(--shadow); }
  .panel h3 { margin:0 0 12px; font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--faint); }
  .bar { margin-bottom:11px; }
  .bar .lab { display:flex; justify-content:space-between; font-size:13px; margin-bottom:4px; }
  .bar .lab b { font-weight:700; }
  .bar .lab span { color:var(--faint); }
  .bar .track { height:8px; border-radius:999px; background:#eef3f1; overflow:hidden; }
  .bar .fill { height:100%; border-radius:999px; background:linear-gradient(90deg,var(--teal),#3fcfba); }
  .bar.warm .fill { background:linear-gradient(90deg,#e8825a,#f0a07f); }
  .insight { margin-top:14px; background:var(--teal-l); border:1px solid #cfeae4; border-radius:14px; padding:13px 15px; }
  .insight b { color:var(--teal-d); }
  .insight p { margin:4px 0 0; color:#2c4742; font-size:13.5px; }

  /* accommodation items */
  .acc { display:flex; flex-direction:column; gap:11px; margin-top:6px; }
  .item { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:13px 15px; box-shadow:var(--shadow); }
  .item.has-photo { display:flex; gap:14px; padding:0; overflow:hidden; }
  .item.has-photo .thumb { flex:none; width:148px; background:#dfe9e6; position:relative; }
  .item.has-photo .thumb img { width:100%; height:100%; object-fit:cover; display:block; }
  .item.has-photo .thumb .stars { position:absolute; left:8px; bottom:7px; color:#ffd56b; font-size:12px; letter-spacing:1px; text-shadow:0 1px 3px rgba(0,0,0,.6); }
  .item.has-photo .thumb .gcount { position:absolute; right:7px; top:7px; background:rgba(0,0,0,.55); color:#fff; font-size:10.5px; font-weight:700; padding:2px 7px; border-radius:999px; backdrop-filter:blur(3px); }
  .pop.rate { color:var(--warm); }
  .pop.rate small { color:var(--faint); }
  .b.str { background:#fff6ee; color:#b5562f; border-color:#f4ddd2; }
  .item.has-photo .bd { flex:1; padding:13px 15px 13px 0; min-width:0; }
  @media (max-width:520px){ .item.has-photo .thumb { width:104px; } }
  .book { margin-top:2px; border:0; background:var(--teal); color:#fff; font-weight:700; font-size:12px; padding:5px 12px; border-radius:999px; cursor:pointer; }
  .book:hover { background:var(--teal-d); }
  .book.tel { background:var(--teal-l); color:var(--teal-d); }
  .book.wa { background:#e7f8ed; color:#188647; }

  /* sort + pagination */
  .acc-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; }
  .sortsel { color:var(--faint); font-size:13px; font-weight:600; }
  .sortsel select { font:inherit; font-size:13.5px; font-weight:600; color:var(--ink); background:var(--card); border:1px solid var(--line);
    border-radius:10px; padding:7px 30px 7px 11px; cursor:pointer; box-shadow:var(--shadow);
    appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2313b29c' stroke-width='1.6' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 11px center; }
  .pager { display:flex; align-items:center; justify-content:center; gap:14px; margin:24px 0 4px; }
  .pager .pg { width:40px; height:40px; display:grid; place-items:center; border-radius:11px; background:var(--card);
    border:1px solid var(--line); box-shadow:var(--shadow); color:var(--teal-d); font-weight:800; font-size:16px; }
  .pager .pg:hover { background:var(--teal-l); }
  .pager .pg.disabled { color:var(--faint); opacity:.45; box-shadow:none; pointer-events:none; }
  .pager .pg-info { color:var(--muted); font-size:13.5px; font-weight:600; }
  .item .hd { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
  .item .nm { font-weight:700; font-size:16px; color:var(--ink); display:inline-block; }
  a.nm:hover { color:var(--teal-d); }
  .item .ty { color:var(--faint); font-size:12px; text-transform:capitalize; }
  .item .pop { font-weight:800; color:var(--teal-d); font-size:16px; flex:none; text-align:right; }
  .item .pop small { display:block; font-weight:600; color:var(--faint); font-size:9.5px; }
  .char { color:var(--muted); font-size:13.5px; margin:6px 0 9px; }
  .badges { display:flex; flex-wrap:wrap; gap:6px; }
  .b { font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px; background:var(--teal-l); color:var(--teal-d); border:1px solid #d7ece7; }
  .b.warm { background:var(--warm-l); color:#b5562f; border-color:#f4ddd2; }
  .b.mut { background:#f0f3f2; color:var(--muted); border-color:var(--line); }
  .back { font-size:13px; font-weight:700; }

  /* AI companion */
  .ai-fab { position:fixed; right:18px; bottom:18px; z-index:40; background:var(--teal); color:#fff; border:0; font-weight:700; font-size:14px; padding:13px 18px; border-radius:999px; box-shadow:0 12px 30px rgba(19,178,156,.4); cursor:pointer; }
  .ai-panel { position:fixed; right:18px; bottom:18px; z-index:41; width:min(360px,calc(100vw - 36px)); background:var(--card); border:1px solid var(--line); border-radius:18px; box-shadow:0 26px 70px rgba(0,0,0,.22); display:none; flex-direction:column; overflow:hidden; }
  .ai-panel.open { display:flex; }
  .ai-hd { display:flex; align-items:center; justify-content:space-between; padding:13px 15px; border-bottom:1px solid var(--line); }
  .ai-hd b { font-weight:800; } .ai-hd b i { color:var(--teal); font-style:normal; }
  .ai-hd button { border:0; background:none; color:var(--faint); font-size:18px; cursor:pointer; }
  .ai-body { padding:14px 15px; display:flex; flex-direction:column; gap:10px; max-height:54vh; overflow:auto; }
  .ai-body .b-ai { background:var(--teal-l); border-radius:13px 13px 13px 4px; padding:10px 12px; font-size:13.5px; color:#244; align-self:flex-start; max-width:88%; }
  .ai-qr { display:flex; flex-wrap:wrap; gap:7px; }
  .ai-qr button { background:#fff; border:1px solid var(--line); color:var(--teal-d); font-size:12.5px; font-weight:600; padding:7px 11px; border-radius:999px; cursor:pointer; }
  .ai-in { display:flex; gap:8px; padding:12px 13px; border-top:1px solid var(--line); }
  .ai-in input { flex:1; border:1px solid var(--line); border-radius:11px; padding:9px 11px; outline:0; font-size:14px; }
  .ai-in button { border:0; background:var(--teal); color:#fff; border-radius:11px; width:42px; font-size:16px; }

  .note { margin-top:30px; color:var(--faint); font-size:12px; border-top:1px solid var(--line); padding-top:14px; }

  /* place (accommodation) detail */
  .crumb { font-size:12.5px; color:var(--faint); margin:2px 0 12px; }
  .crumb a { color:var(--muted); font-weight:600; } .crumb span { color:var(--ink); }
  .phead { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
  .psub { margin-top:5px; display:flex; align-items:center; gap:10px; }
  .psub .pty { color:var(--faint); font-size:13px; text-transform:capitalize; }
  .psub .pstars { color:#e8a13a; font-size:13px; letter-spacing:1px; }
  .pscore { flex:none; text-align:center; background:var(--warm-l); border:1px solid #f4ddd2; border-radius:14px; padding:8px 16px; }
  .pscore b { display:block; font-size:24px; color:#b5562f; line-height:1; }
  .pscore span { font-size:10.5px; color:var(--warm); font-weight:600; }
  .pgal { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:8px; height:300px; margin-bottom:20px; border-radius:18px; overflow:hidden; }
  .pgal-i { border:0; padding:0; cursor:zoom-in; background:#dfe9e6 center/cover no-repeat; position:relative; }
  .pgal-i.big { grid-row:span 2; }
  .pgal-i span { position:absolute; inset:0; display:grid; place-items:center; background:rgba(8,20,17,.55); color:#fff; font-weight:800; font-size:18px; }
  @media (max-width:680px){ .pgal { grid-template-columns:1fr 1fr; height:240px; } .pgal-i.big { grid-column:span 2; grid-row:auto; } .pgal-i:nth-child(n+4){ display:none; } }
  /* valiza-style gallery: small thumbs on top, big hero below with a photo-count tag */
  .pgal2 { margin-bottom:20px; }
  .pgal2-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:8px; }
  .pgal2-t { height:84px; border:0; padding:0; border-radius:12px; background:#dfe9e6 center/cover no-repeat; cursor:zoom-in; transition:.14s; }
  .pgal2-t:hover { filter:brightness(1.05); transform:translateY(-1px); }
  .pgal2-hero { display:block; width:100%; height:360px; border:0; padding:0; border-radius:16px; background:#dfe9e6 center/cover no-repeat; cursor:zoom-in; position:relative; }
  .pgal2-count { position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:6px; background:rgba(8,20,17,.7); color:#fff; font-size:13px; font-weight:700; padding:6px 11px; border-radius:10px; backdrop-filter:blur(3px); }
  .pgal2-count svg { display:block; }
  @media (max-width:680px){ .pgal2-strip { grid-template-columns:repeat(3,1fr); } .pgal2-t:nth-child(4){ display:none; } .pgal2-hero { height:240px; } }
  .psplit { display:grid; grid-template-columns:1fr 320px; gap:20px; align-items:start; }
  .psplit > * { min-width:0; }   /* let the rooms carousel scroll instead of widening the page */
  @media (max-width:820px){ .psplit { grid-template-columns:1fr; } }
  /* Repere — at-a-glance smart-read cards */
  .repere { margin:0 0 20px; }
  .rep-h { font-family:var(--serif); font-size:20px; margin:0 0 12px; }
  .rep-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
  .rep-card { background:var(--card); border:1px solid var(--line); border-left:3px solid var(--teal); border-radius:14px; padding:13px 15px; box-shadow:var(--shadow); }
  .rep-card b { display:block; font-size:14.5px; color:var(--ink); margin-bottom:3px; }
  .rep-card span { font-size:12.5px; color:var(--muted); line-height:1.45; }

  .pcard { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:16px 18px; box-shadow:var(--shadow); margin-bottom:16px; }
  .pcard h3 { margin:0 0 12px; font-size:13px; text-transform:uppercase; letter-spacing:.07em; color:var(--faint); }
  .pcard h3 small { text-transform:none; letter-spacing:0; }
  .pchar { margin:0 0 14px; font-size:15px; color:var(--ink); }
  .pcons { margin:10px 0 0; font-size:13px; color:var(--warm); }
  .pdesc { margin:0; font-size:14px; line-height:1.6; color:var(--muted); }
  /* room types — horizontal carousel (scroll-snap, swipe on mobile) */
  .rooms { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
  .rooms::-webkit-scrollbar { height:6px; }
  .rooms::-webkit-scrollbar-thumb { background:var(--line); border-radius:999px; }
  .room { flex:0 0 250px; scroll-snap-align:start; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
  .room-ph { width:100%; height:150px; border:0; padding:0; cursor:zoom-in; background:#dfe9e6 center/cover no-repeat; position:relative; }
  /* no room photo → a plain neutral grey panel (the logo placeholder looked out of place stretched in a room slot). */
  .room-ph-empty { background:#eceeed; cursor:default; }
  .room-ph .gcount { position:absolute; right:7px; top:7px; background:rgba(0,0,0,.55); color:#fff; font-size:10.5px; font-weight:700; padding:2px 7px; border-radius:999px; }
  .room-bd { padding:12px 14px 14px; }
  .room-nm { font-size:14.5px; color:var(--ink); line-height:1.3; }
  .room-meta { display:flex; flex-wrap:wrap; gap:4px 11px; font-size:12px; color:var(--muted); margin:7px 0 8px; }
  .room-am { display:flex; flex-wrap:wrap; gap:5px; }
  .room-am span { font-size:11px; color:var(--muted); background:#f0f3f2; border:1px solid var(--line); border-radius:999px; padding:3px 9px; }
  .room-am .ram-x { display:none; }
  .room-am.open .ram-x { display:inline-block; }
  .room-am .ram-more { font-size:11px; color:var(--teal); font-weight:700; background:none; border:1px dashed var(--line); border-radius:999px; padding:3px 9px; cursor:pointer; }
  .room-am .ram-more:hover { background:#f0f3f2; }
  .pdesc p { margin:0 0 9px; } .pdesc p:last-child { margin-bottom:0; }
  .pdesc strong, .pdesc b { color:var(--ink); font-weight:700; }
  .pdesc ul, .pdesc ol { margin:6px 0; padding-left:18px; }
  .facils { display:flex; flex-wrap:wrap; gap:7px; }
  .fac { font-size:12px; font-weight:600; color:var(--muted); background:#f0f3f2; border:1px solid var(--line); border-radius:999px; padding:5px 11px; }
  /* amenities — icon + label, tidy aligned grid */
  .amenities { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:11px 16px; }
  .amenity { display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--ink); }
  .am-ic { width:19px; height:19px; flex:none; color:var(--teal-d); }
  .amore { margin-top:12px; }
  .amore summary { color:var(--teal-d); font-weight:700; font-size:13px; cursor:pointer; list-style:none; }
  .amore summary::-webkit-details-marker { display:none; }
  .amore summary::after { content:' ↓'; }
  .amore[open] summary::after { content:' ↑'; }
  .amore[open] summary { margin-bottom:12px; }
  .paside { position:sticky; top:74px; }
  .paside #map { height:220px; margin-bottom:12px; }
  .pbook { display:block; text-align:center; background:var(--teal); color:#fff; font-weight:700; font-size:15px; padding:13px; border-radius:13px; border:0; width:100%; cursor:pointer; box-shadow:0 10px 24px rgba(19,178,156,.3); }
  .pbook:hover { background:var(--teal-d); }
  .pback { display:block; text-align:center; margin-top:12px; color:var(--muted); font-weight:600; font-size:13px; }
  .pcontact { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
  .pc { display:block; text-align:center; font-weight:700; font-size:13.5px; padding:11px; border-radius:11px; border:1px solid var(--line); background:var(--card); }
  .pc.tel { background:var(--teal-l); color:var(--teal-d); border-color:#cfeae4; }
  .pc.wa { background:#e7f8ed; color:#188647; border-color:#cdeed8; }
  .pc.fb { background:#eaf0fb; color:#2a5bb0; border-color:#d6e2f6; }
  .pc.gm { background:#fdeee9; color:#b5562f; border-color:#f4ddd2; }
  .pc.web { background:#f0f3f2; color:var(--muted); }
  .pc:hover { filter:brightness(.97); }
  .pbook-note { margin:8px 2px 0; font-size:11px; color:var(--faint); text-align:center; line-height:1.4; }
  /* contact actions with icons */
  .pactions { display:flex; flex-direction:column; gap:8px; margin-top:12px; }
  .pbtn { display:flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:14px; padding:12px; border-radius:12px; border:1px solid var(--line); background:var(--card); color:var(--ink); }
  .pbtn .bi { width:18px; height:18px; flex:none; }
  .pbtn.book { background:var(--teal); color:#fff; border-color:var(--teal); box-shadow:0 10px 24px rgba(19,178,156,.3); }
  .pbtn.book:hover { background:var(--teal-d); }
  .pbtn-row { display:flex; gap:8px; }
  .pbtn-row .pbtn { flex:1; }
  .pbtn-row.sec .pbtn { font-size:13px; padding:10px; flex:1 1 30%; }
  .pbtn.tel { background:var(--teal-l); color:var(--teal-d); border-color:#cfeae4; }
  .pbtn.wa { background:#e7f8ed; color:#188647; border-color:#cdeed8; }
  .pbtn.fb { background:#eaf0fb; color:#2a5bb0; border-color:#d6e2f6; }
  .pbtn.web { background:#f0f3f2; color:var(--muted); }
  .pbtn.gm { background:#fdeee9; color:#b5562f; border-color:#f4ddd2; }
  /* mobile sticky action bar (turistinfo-style, cleaner) */
  .actionbar { position:fixed; left:0; right:0; bottom:0; z-index:35; display:none; gap:8px;
    padding:9px 12px calc(9px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.95); backdrop-filter:blur(12px); border-top:1px solid var(--line);
    transition:transform .22s ease; }
  .actionbar.tucked { transform:translateY(120%); }   /* hidden while the in-page contact buttons are visible */
  .actionbar .ab { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; font-size:11px; font-weight:700; padding:7px 6px; border-radius:11px; color:var(--muted); }
  .actionbar .ab .bi { width:21px; height:21px; }
  .actionbar .ab.book { background:var(--teal); color:#fff; }
  .actionbar .ab.tel { color:var(--teal-d); background:var(--teal-l); }
  .actionbar .ab.wa { color:#188647; background:#e7f8ed; }
  @media (max-width:820px){ .actionbar { display:flex; } body { padding-bottom:74px; } }
  .foot { margin-top:46px; padding-top:16px; border-top:1px solid var(--line); color:#5f6a75; font-size:12px; line-height:1.6; text-align:center; } /* gri ≥4.5:1 (a11y) */ /* centrat PESTE TOT — landing-ul îl avea centrat, restul stânga (audit 2026-07-03) */
  .foot .fcopy { display:block; margin-bottom:2px; }
  .foot b { color:var(--muted); }
  .foot .flinks { display:block; margin-top:9px; }
  .foot .flinks a { color:var(--teal-d); font-weight:700; }
  .legal h1 { font-size:28px; margin:6px 0 2px; }
  .legal .lupd { color:var(--faint); font-size:12.5px; margin:0 0 20px; }
  .legal h3 { font-size:15px; margin:22px 0 6px; color:var(--ink); }
  .legal p, .legal li { color:var(--muted); font-size:14.5px; line-height:1.65; }
  .legal ul { padding-left:18px; margin:6px 0; }
  .legal b { color:var(--ink); }

  /* add-listing form */
  .addwrap { max-width:680px; margin:0 auto; }
  .addhead h1 { font-size:30px; margin:4px 0 8px; }
  .addhead p { color:var(--muted); font-size:14.5px; margin:0 0 22px; max-width:56ch; }
  .addok { background:var(--teal-l); border:1px solid #cfeae4; border-radius:14px; padding:13px 16px; margin-bottom:18px; color:#244; }
  .adderr { background:var(--warm-l); border:1px solid #f4ddd2; border-radius:14px; padding:13px 16px; margin-bottom:18px; color:#b5562f; font-size:13.5px; }
  .addform .fset { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:18px 20px; box-shadow:var(--shadow); margin-bottom:16px; }
  .addform .fset h3 { margin:0 0 14px; font-size:13px; text-transform:uppercase; letter-spacing:.07em; color:var(--faint); }
  .fhint, .upl { font-size:13px; color:var(--muted); }
  .upl { background:#f7faf9; border:1px dashed var(--line); border-radius:12px; padding:14px; text-align:center; }
  .mappick { height:300px; border-radius:12px; border:1px solid var(--line); z-index:0; }
  .mphint { font-size:12.5px; color:var(--faint); margin:8px 2px 0; }
  .fhint { margin:-6px 0 12px; }
  .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
  @media (max-width:560px){ .grid2 { grid-template-columns:1fr; } }
  .fld { display:block; margin-bottom:12px; }
  .fld span { display:block; font-size:12.5px; font-weight:600; color:var(--muted); margin-bottom:5px; }
  .fld input, .fld select, .fld textarea { width:100%; border:1px solid var(--line); border-radius:11px; padding:10px 12px; font:inherit; font-size:14px; color:var(--ink); background:#fff; outline:0; }
  .fld input:focus, .fld select:focus, .fld textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px var(--teal-l); }
  .fld textarea { resize:vertical; }
  .amcheck { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:9px 14px; }
  .amc { display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--ink); cursor:pointer; }
  .amc input { width:17px; height:17px; accent-color:var(--teal); }
  .addbtn { background:var(--teal); color:#fff; font-weight:700; font-size:15px; border:0; border-radius:13px; padding:14px 24px; cursor:pointer; box-shadow:0 10px 24px rgba(19,178,156,.3); }
  .addbtn:hover { background:var(--teal-d); }
  .addnote { font-size:11.5px; color:var(--faint); margin:10px 2px 0; }

  /* gallery lightbox */
  .lightbox { position:fixed; inset:0; z-index:60; background:rgba(8,20,17,.92); display:none; align-items:center; justify-content:center; padding:20px; }
  .lightbox.open { display:flex; }
  .lightbox figure { margin:0; max-width:min(1000px,92vw); max-height:88vh; display:flex; flex-direction:column; align-items:center; gap:10px; }
  .lightbox img { max-width:100%; max-height:80vh; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.5); object-fit:contain; }
  .lightbox figcaption { color:#dfeae6; font-size:13px; }
  .lightbox figcaption b { color:#fff; font-weight:700; }
  .lb-x { position:absolute; top:16px; right:18px; width:40px; height:40px; border:0; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font-size:22px; cursor:pointer; }
  .lb-nav { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border:0; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; font-size:28px; cursor:pointer; }
  .lb-nav:hover, .lb-x:hover { background:rgba(255,255,255,.28); }
  .lb-prev { left:16px; } .lb-next { right:16px; }
  @media (max-width:560px){ .lb-nav { width:40px; height:40px; font-size:22px; } }
