@font-face { font-family:"Onest"; src:url("fonts/Onest-Regular.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
:root { --page-bg:#fbf7ed; --surface:#fffaf2; --text-main:#123c52; --text-muted:#586871; --gold:#dfa01b; --gold-dark:#ad6810; --teal:#087d79; --teal-dark:#075d63; --line-gold:#d5a04b; --border-soft:#e8dfcf; --page-inline:clamp(48px,10vw,128px); }
* { box-sizing:border-box; }
html { color-scheme:light; scroll-behavior:smooth; font-size:16px; }
body { margin:0; background:var(--page-bg); color:var(--text-main); font-family:"Onest", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:1rem; font-style:normal; font-weight:400; line-height:1.65; letter-spacing:0; font-synthesis:none; }
h1,h2,h3,h4,h5,h6,th,strong,b,em,i,cite,address { font-style:normal; font-weight:400; }
button,input,textarea,select,a,code,pre,kbd,samp { font:inherit; }
button { cursor:pointer; }
a { color:inherit; }
.wrap, .header-inner { width:min(100% - 40px, 1440px); margin-inline:auto; }
.site-header { background:var(--surface); border-bottom:1px solid var(--border-soft); }
.header-inner { min-height:0; display:flex; align-items:center; justify-content:center; gap:clamp(18px,3.2vw,46px); padding:14px 0 12px; }
.brand-banner { display:block; width:min(100%, clamp(520px, 44vw, 760px)); color:inherit; text-decoration:none; }
.brand-banner img { display:block; width:100%; height:auto; }
.header-contact-icons { display:flex; align-items:center; gap:12px; flex:0 0 auto; }.header-contact-icon { display:block; width:clamp(46px,4.4vw,64px); transition:transform .18s ease, filter .18s ease; }.header-contact-icon:hover { transform:translateY(-2px); filter:saturate(1.06) contrast(1.03); }.header-contact-icon img { display:block; width:100%; height:auto; }
:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.intro { width:min(100% - 40px, 1440px); padding:70px 0 42px; margin:0 auto; }.intro h1 { max-width:1060px; margin:0 auto; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.45rem, 4.8vw, 4.75rem); font-weight:400; line-height:1.05; letter-spacing:0; text-align:center; }.lead { max-width:760px; margin:22px 0 30px; color:var(--text-muted); font-size:1.12rem; }
.city-tabs { display:grid; grid-template-columns:1fr 1fr; gap:18px; width:min(100%, 760px); margin:38px auto 0; }.city-tabs button { position:relative; display:flex; align-items:center; justify-content:center; min-height:82px; overflow:hidden; border:1px solid #aab5b5; border-radius:18px; background:linear-gradient(135deg,#f4f4ed 0%,#dce2df 100%); color:#23414b; font-weight:400; font-size:1.23rem; letter-spacing:0; box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 8px 18px rgba(18,60,82,.09); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease; }.city-tabs button > span:first-child { position:relative; z-index:1; }.city-tabs button::before { content:""; position:absolute; inset:-42% -26%; background:linear-gradient(115deg,transparent 26%,rgba(255,255,255,.16) 38%,rgba(223,160,27,.18) 48%,transparent 62%); transform:translateX(-36%) rotate(3deg); animation:liquidSweep 5.8s ease-in-out infinite; pointer-events:none; opacity:0; }.city-tabs button::after { content:""; position:absolute; inset:1px; border-radius:17px; background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 44%,rgba(255,255,255,.03)); pointer-events:none; }.city-tabs button:hover { transform:translateY(-2px); border-color:#5c7477; box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 16px 28px rgba(18,60,82,.14); }.city-tabs button[aria-selected="true"] { background:linear-gradient(135deg,#07383c 0%,#0d686a 48%,#0d2128 100%); border:3px solid var(--gold); color:white; box-shadow:inset 0 1px 0 rgba(255,255,255,.25), inset 0 -5px 0 #a96608, inset 0 -22px 36px rgba(0,0,0,.2), 0 22px 42px rgba(7,93,99,.28); }.city-tabs button[aria-selected="true"]::before { opacity:1; }.city-tab-check { position:absolute; z-index:1; right:20px; display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(255,255,255,.62); border-radius:50%; color:transparent; font-size:1rem; line-height:1; opacity:0; transform:scale(.7); transition:opacity .18s ease, transform .18s ease, color .18s ease; }.city-tabs button[aria-selected="true"] .city-tab-check { color:#fff; opacity:1; transform:scale(1); }@keyframes liquidSweep { 0%,100% { transform:translateX(-42%) rotate(3deg); opacity:.45; } 45% { transform:translateX(34%) rotate(3deg); opacity:.8; } 70% { transform:translateX(44%) rotate(3deg); opacity:.25; } }
.price-link { position:relative; display:flex; align-items:center; justify-content:center; gap:16px; width:min(100%, 860px); min-height:88px; margin:28px auto 0; padding:16px 28px 18px; overflow:hidden; border:1px solid rgba(173,104,16,.58); border-radius:22px; background:radial-gradient(circle at 50% -38%,rgba(255,238,175,.26),transparent 42%),linear-gradient(135deg,#263036 0%,#445047 48%,#18232a 100%); color:#fffaf0; font-size:clamp(1.28rem,2vw,1.72rem); font-weight:400; line-height:1.08; text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.22), inset 0 -18px 30px rgba(0,0,0,.16), 0 20px 42px rgba(18,60,82,.18); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }.price-link[hidden] { display:none; }.price-link::before { content:""; position:absolute; inset:-60% -24%; background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.18) 47%,rgba(255,220,130,.18) 54%,transparent 68%); transform:translateX(-52%) rotate(3deg); animation:priceSweep 7s ease-in-out infinite; pointer-events:none; }.price-link:hover { transform:translateY(-2px); border-color:rgba(223,160,27,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.28), inset 0 -18px 30px rgba(0,0,0,.14), 0 24px 46px rgba(18,60,82,.25); }.price-link__mark { display:grid; place-items:center; min-width:48px; height:38px; padding:0 10px; border:1px solid rgba(255,255,255,.45); border-radius:999px; color:#f0c35b; font-size:1rem; font-weight:400; line-height:1; }.price-link__arrow { color:#f0c35b; font-size:1.9rem; line-height:1; transition:transform .18s ease; }.price-link:hover .price-link__arrow { transform:translateX(3px); }@keyframes priceSweep { 0%,100% { transform:translateX(-52%) rotate(3deg); opacity:.28; } 42% { transform:translateX(42%) rotate(3deg); opacity:.7; } 68% { transform:translateX(50%) rotate(3deg); opacity:.18; } }
.hero-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; width:min(100%,1060px); margin:16px auto 0; }.hero-action { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; min-height:58px; padding:10px 14px; overflow:hidden; border:1px solid rgba(18,60,82,.18); border-radius:15px; background:linear-gradient(180deg,rgba(255,250,242,.92),rgba(232,236,230,.9)); color:#173b48; font-size:1rem; font-weight:400; line-height:1.15; text-align:center; text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 22px rgba(18,60,82,.08); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease; }.hero-action::after { content:""; position:absolute; inset:-70% -35%; background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.42) 49%,transparent 62%); transform:translateX(-56%); transition:transform .42s ease; pointer-events:none; }.hero-action:hover { transform:translateY(-2px); border-color:rgba(13,104,106,.45); color:var(--teal-dark); box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 15px 28px rgba(18,60,82,.13); }.hero-action:hover::after { transform:translateX(56%); }.hero-action--realty { border-color:rgba(223,160,27,.32); background:linear-gradient(135deg,#132127,#2e393d 56%,#151d21); color:#fffaf0; box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -10px 20px rgba(0,0,0,.16),0 13px 26px rgba(18,60,82,.13); }.hero-action--realty:hover { border-color:rgba(223,160,27,.72); color:#fff; }.hero-action__icon { position:relative; z-index:1; display:grid; place-items:center; flex:0 0 auto; width:26px; height:26px; border:1px solid rgba(18,60,82,.18); border-radius:50%; color:var(--gold-dark); font-size:1.05rem; line-height:1; }.hero-action--realty .hero-action__icon { border-color:rgba(255,255,255,.35); color:#f0c35b; }.hero-action span:last-child { position:relative; z-index:1; }
.city-panel { padding:20px 0 92px; }.js .city-panel:not(.is-active) { display:none; }.catalog h2 { margin:0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2rem, 3.5vw, 3.35rem); line-height:1.08; letter-spacing:0; }
.catalog { padding-top:78px; }.catalog-heading { max-width:850px; margin-bottom:34px; }.catalog-heading h2 { font-size:clamp(2rem, 3.5vw, 3rem); }.catalog-heading > p:last-child { color:var(--text-muted); max-width:690px; }.tour-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:23px; }.tour-card { overflow:hidden; background:var(--surface); border:1px solid var(--border-soft); border-radius:14px; }.tour-card picture { display:block; height:235px; overflow:hidden; }.tour-card picture img { width:100%; height:100%; display:block; object-fit:cover; }.card-catamaran picture img { object-position:66% center; }.card-jetski picture img { object-position:18% 77%; }.card-dive picture img { object-position:88% center; }.card-fishing picture img { object-position:45% 25%; }.card-speedboat picture img { object-position:10% bottom; }.card-similan picture img { object-position:55% center; }.card-phangnga picture img { object-position:30% center; }.card-hong picture img { object-position:79% 70%; }.tour-card > div { padding:25px; }.tour-card h3 { margin:0 0 8px; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:1.55rem; line-height:1.12; letter-spacing:0; }.tour-card p { margin:0; color:var(--text-muted); font-size:1rem; }.land-catalog { padding-top:34px; }.land-grid { align-items:start; }.land-card { border-top:3px solid var(--gold); }.land-card > div { padding-top:27px; }
.site-footer { padding:10px 0 56px; background:var(--page-bg); }.footer-contact { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px 22px; padding-top:20px; border-top:1px solid var(--border-soft); }.footer-contact p { margin:0; color:var(--text-main); font-size:1.15rem; font-weight:400; }.footer-contact-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 22px; }.footer-choice { display:inline-flex; align-items:center; gap:8px; background:transparent; font-size:1.18rem; font-weight:400; line-height:1.1; text-decoration:none; }.footer-choice:hover { text-decoration:underline; text-underline-offset:4px; }.footer-choice.whatsapp { background:transparent; color:#149646; }.footer-choice.telegram { background:transparent; color:#1d88c6; }.footer-service-icon { display:grid; place-items:center; width:32px; height:32px; flex:0 0 auto; border-radius:9px; color:white; box-shadow:inset 0 1px 1px rgba(255,255,255,.55),0 4px 8px rgba(18,60,82,.15); }.footer-choice.whatsapp .footer-service-icon { background:#28a763; }.footer-choice.telegram .footer-service-icon { background:#278ecb; }.footer-service-icon svg { width:21px; fill:currentColor; }
.price-page .price-intro,.price-page .price-catalog { width:min(100% - 40px, 1656px); }.price-intro { padding:55px 0 26px; }.back-link { display:inline-block; margin-bottom:28px; color:var(--teal-dark); font-weight:400; text-underline-offset:4px; }.price-intro h1 { max-width:900px; margin:0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.45rem,5vw,4.5rem); line-height:1.02; letter-spacing:0; }.price-lead { max-width:980px; margin:22px 0 10px; color:var(--text-muted); font-size:1.16rem; }.price-catalog { padding:20px 0 92px; }.price-section + .price-section { margin-top:60px; }.price-section h2 { margin:0 0 18px; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(1.95rem,3.2vw,2.8rem); line-height:1.1; letter-spacing:0; }.price-table-wrap { width:100%; }.price-table { width:100%; border-collapse:separate; border-spacing:0 12px; table-layout:fixed; }.price-table thead th { padding:0 24px 10px; color:var(--text-muted); font-size:1rem; font-weight:400; letter-spacing:.04em; text-align:left; text-transform:uppercase; }.price-table thead th:first-child { width:48%; }.price-table thead th:nth-child(2) { width:21%; }.price-table thead th:nth-child(3) { width:13%; }.price-table thead th:nth-child(4) { width:18%; }.price-table tbody tr { background:var(--surface); }.price-table tbody th,.price-table tbody td { padding:24px; vertical-align:middle; text-align:left; border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); }.price-table tbody th { color:var(--text-main); font-size:1.2rem; font-weight:400; border-left:1px solid var(--border-soft); border-radius:14px 0 0 14px; box-shadow:-8px 0 20px rgba(18,60,82,.04); }.price-table tbody th span { display:block; }.price-table tbody td { color:var(--teal-dark); font-size:1.14rem; font-weight:400; }.price-table tbody td:last-child { color:var(--text-muted); font-size:1.04rem; font-weight:400; border-right:1px solid var(--border-soft); border-radius:0 14px 14px 0; box-shadow:8px 0 20px rgba(18,60,82,.04); }
.back-link--home { color:var(--text-main); font-size:clamp(1.28rem,2vw,1.75rem); font-weight:400; text-decoration-thickness:2px; }
@media (max-width:1050px) { .tour-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .wrap,.header-inner { width:min(100% - 28px, 1440px); }.price-page .price-intro,.price-page .price-catalog { width:min(100% - 28px, 1440px); }.header-inner { flex-direction:column; gap:7px; padding:9px 0 8px; }.brand-banner { width:min(100%, 300px); }.header-contact-icons { gap:10px; }.header-contact-icon { width:42px; }.intro { width:min(100% - 28px, 1440px); margin:0 auto; padding:27px 0 24px; }.intro h1 { font-size:clamp(2.05rem, 9.4vw, 3rem); line-height:1.06; }.lead { margin:17px 0 23px; font-size:1rem; }.city-tabs { gap:10px; margin-top:22px; }.city-tabs button { min-height:62px; border-radius:15px; font-size:1rem; }.city-tabs button::after { border-radius:14px; }.city-tabs button[aria-selected="true"] { border-width:2px; }.city-tab-check { right:10px; width:22px; height:22px; font-size:1rem; }.hero-actions { grid-template-columns:1fr 1fr; gap:9px; margin-top:12px; }.hero-action { min-height:52px; padding:8px 10px; border-radius:13px; font-size:1rem; }.hero-action__icon { width:23px; height:23px; font-size:1rem; }.price-link { min-height:70px; margin-top:16px; padding:12px 14px 14px; border-radius:17px; font-size:clamp(1.02rem,4.9vw,1.24rem); gap:10px; }.price-link__mark { min-width:44px; height:30px; padding:0 8px; font-size:1rem; }.price-link__arrow { font-size:1.55rem; }.city-panel { padding:9px 0 62px; }.catalog { padding-top:53px; }.land-catalog { padding-top:24px; }.catalog-heading { margin-bottom:24px; }.tour-grid { grid-template-columns:1fr; gap:16px; }.tour-card picture { height:235px; }.tour-card > div { padding:22px; }.price-intro { padding:38px 0 20px; }.back-link { margin-bottom:22px; }.price-intro h1 { font-size:clamp(2.35rem,11vw,3.3rem); }.price-lead { margin:17px 0 9px; font-size:1.04rem; }.price-catalog { padding:16px 0 62px; }.price-section + .price-section { margin-top:42px; }.price-section h2 { margin-bottom:13px; font-size:1.78rem; }.price-table { border-spacing:0 12px; }.price-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }.price-table,.price-table tbody,.price-table tr,.price-table th,.price-table td { display:block; width:100%; }.price-table tbody tr { overflow:hidden; border:1px solid var(--border-soft); border-radius:14px; box-shadow:0 9px 22px rgba(18,60,82,.06); }.price-table tbody th,.price-table tbody td { padding:0 20px; border:0; box-shadow:none; }.price-table tbody th { padding:22px 20px 16px; border-radius:0; font-size:1.13rem; }.price-table tbody td { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:12px 20px; border-top:1px solid var(--border-soft); font-size:1.08rem; }.price-table tbody td::before { content:attr(data-label); color:var(--text-muted); font-weight:400; }.price-table tbody td:last-child { padding-bottom:20px; border-radius:0; }.site-footer { padding-bottom:42px; }.footer-contact { align-items:flex-start; justify-content:flex-start; }.footer-contact-links { justify-content:flex-start; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.city-tabs button { transition:none; }.city-tabs button::before { animation:none; } }
.price-selection-bar {
  position:sticky;
  top:max(8px,env(safe-area-inset-top));
  z-index:30;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,230px));
  gap:12px;
  width:max-content;
  max-width:100%;
  margin:0 0 30px auto;
  padding:10px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(233,240,235,.74));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 16px 42px rgba(18,60,82,.16);
  backdrop-filter:blur(24px) saturate(1.25);
}
.price-selection-button {
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:220px;
  min-height:76px;
  overflow:hidden;
  padding:9px 12px 9px 9px;
  border:1px solid rgba(18,60,82,.2);
  border-radius:20px;
  color:var(--text-main);
  font-size:1.12rem;
  font-weight:400;
  line-height:1.15;
  text-align:left;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(18,60,82,.12);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease;
}
.price-selection-button--notepad { background:linear-gradient(145deg,rgba(255,253,246,.98),rgba(224,239,232,.94)); }
.price-selection-button--cart { border-color:rgba(223,160,27,.52); background:linear-gradient(135deg,#0c6568,#143d46 52%,#14252c); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 28px rgba(7,70,75,.25); }
.price-selection-button:hover { transform:translateY(-2px); border-color:rgba(13,104,106,.54); box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 16px 32px rgba(18,60,82,.18); }
.price-selection-button--cart:hover { border-color:rgba(240,195,91,.82); box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 36px rgba(7,70,75,.32); }
.price-selection-button:active { transform:translateY(0) scale(.985); }
.price-selection-button__icon {
  position:relative;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.76);
  border-radius:17px;
  background:radial-gradient(circle at 35% 20%,rgba(255,255,255,.78),rgba(255,255,255,.2) 42%,rgba(7,93,99,.12));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 7px 16px rgba(18,60,82,.14);
}
.price-selection-button__icon::after,.price-row-button__icon::after {
  content:"";
  position:absolute;
  inset:-35% -70%;
  background:linear-gradient(110deg,transparent 37%,rgba(255,255,255,.72) 49%,transparent 61%);
  transform:translateX(-55%) rotate(8deg);
  animation:selectionIconGleam 5.4s ease-in-out infinite;
  pointer-events:none;
}
.price-selection-button__icon img { display:block; width:52px; height:52px; object-fit:contain; filter:drop-shadow(0 5px 6px rgba(7,47,54,.18)); }
.price-selection-button__label { min-width:0; }
.price-selection-button__count {
  display:grid;
  place-items:center;
  min-width:40px;
  height:40px;
  padding:0 8px;
  border:1px solid rgba(18,60,82,.18);
  border-radius:50%;
  background:rgba(255,255,255,.78);
  color:var(--teal-dark);
  font-size:1.12rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}
.price-selection-button--cart .price-selection-button__count { border-color:rgba(255,255,255,.38); background:rgba(255,255,255,.16); color:#fff; }
.price-selection-button.is-receiving { animation:selectionReceive .9s cubic-bezier(.2,.8,.2,1); }
.price-selection-button.is-receiving .price-selection-button__icon { animation:selectionIconReceive .9s cubic-bezier(.2,.8,.2,1); }
.price-selection-button__count.is-updating { animation:selectionCountPop .9s cubic-bezier(.2,.8,.2,1); }
.price-table thead th:first-child { width:36%; }
.price-table thead th:nth-child(2) { width:14%; }
.price-table thead th:nth-child(3) { width:10%; }
.price-table thead th:nth-child(4) { width:14%; }
.price-table thead th:nth-child(5) { width:26%; }
.price-action-cell { position:relative; border-right:1px solid var(--border-soft); border-radius:0 14px 14px 0; box-shadow:8px 0 20px rgba(18,60,82,.04); }
.price-row-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:10px; width:100%; }
.price-row-button {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  min-width:0;
  min-height:58px;
  padding:6px 8px 6px 6px;
  overflow:hidden;
  border:1px solid rgba(18,60,82,.24);
  border-radius:16px;
  background:linear-gradient(145deg,#fffdf7,#e7f0eb);
  color:var(--teal-dark);
  font-size:1rem;
  font-weight:400;
  line-height:1.18;
  white-space:normal;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 9px 20px rgba(18,60,82,.1);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}
.price-row-button:hover { transform:translateY(-2px); border-color:rgba(13,104,106,.58); box-shadow:inset 0 1px 0 #fff,0 14px 26px rgba(18,60,82,.16); }
.price-row-button:active { transform:translateY(0) scale(.985); }
.price-row-button--cart { border-color:rgba(223,160,27,.56); background:linear-gradient(135deg,#0d686a,#173e47 54%,#17272d); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 22px rgba(7,70,75,.2); }
.price-row-button__icon {
  position:relative;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:13px;
  background:rgba(255,255,255,.42);
}
.price-row-button__icon img { display:block; width:34px; height:34px; object-fit:contain; filter:drop-shadow(0 4px 5px rgba(7,47,54,.16)); }
.price-row-button[aria-pressed="true"] { border-color:rgba(13,104,106,.7); background:linear-gradient(145deg,#eaf5ee,#d4e9df); color:var(--teal-dark); box-shadow:inset 0 0 0 1px rgba(13,104,106,.16),0 12px 24px rgba(13,104,106,.15); }
.price-row-button--cart[aria-pressed="true"] { border-color:rgba(240,195,91,.72); background:linear-gradient(135deg,#087d79,#123840 58%,#12242a); color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 13px 26px rgba(7,70,75,.25); }
.price-row-button[aria-pressed="true"]::after {
  content:"✓";
  position:absolute;
  top:5px;
  left:29px;
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:50%;
  background:var(--teal-dark);
  color:#fff;
  font-size:1rem;
  line-height:1;
  box-shadow:0 4px 9px rgba(18,60,82,.2);
}
.price-row-button--cart[aria-pressed="true"]::after { background:#e9b541; color:#102b35; }
.price-row-feedback {
  position:fixed;
  z-index:72;
  display:block;
  max-width:min(300px,calc(100vw - 32px));
  padding:9px 13px;
  border:1px solid rgba(18,60,82,.18);
  border-radius:999px;
  background:rgba(255,253,247,.96);
  color:var(--text-main);
  font-size:1rem;
  font-weight:400;
  line-height:1.2;
  text-align:center;
  opacity:0;
  transform:translate(-50%,-74%) scale(.94);
  box-shadow:0 12px 28px rgba(18,60,82,.2);
  backdrop-filter:blur(14px);
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none;
}
.price-row-feedback.is-visible { opacity:1; transform:translate(-50%,-100%) scale(1); }
.price-row-feedback--notepad { border-color:rgba(13,104,106,.36); color:var(--teal-dark); }
.price-row-feedback--cart { border-color:rgba(223,160,27,.52); color:#8b560a; }
.price-fly-item {
  position:fixed;
  z-index:71;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  padding:5px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:20px;
  background:rgba(255,255,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 16px 34px rgba(18,60,82,.25);
  backdrop-filter:blur(14px);
  pointer-events:none;
  will-change:transform,opacity;
}
.price-fly-item--cart { border-color:rgba(223,160,27,.58); background:rgba(9,91,94,.88); }
.price-fly-item img { display:block; width:54px; height:54px; object-fit:contain; }
.price-modal { position:fixed; inset:0; z-index:40; display:grid; place-items:center; padding:20px; background:rgba(7,25,31,.42); backdrop-filter:blur(3px); }
.price-modal__panel { position:relative; width:min(100%,620px); max-height:min(760px,90vh); overflow:auto; border:1px solid rgba(223,160,27,.32); border-radius:18px; background:var(--surface); padding:30px; box-shadow:0 24px 70px rgba(7,25,31,.28); }
.price-modal__panel h2 { margin:0 42px 20px 0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:2rem; font-weight:400; line-height:1.1; letter-spacing:0; }
.price-modal__close { position:absolute; top:18px; right:18px; width:36px; height:36px; border:1px solid rgba(18,60,82,.14); border-radius:50%; background:#fff; color:var(--text-main); font-size:1.45rem; line-height:1; cursor:pointer; }
.price-modal-list { display:grid; gap:10px; margin:0 0 22px; padding:0; list-style:none; }
.price-modal-list li { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; border-bottom:1px solid var(--border-soft); }
.price-modal-list strong,.price-modal-list span { display:block; }
.price-modal-list strong { color:var(--text-main); font-size:1.04rem; line-height:1.25; }
.price-modal-list span { margin-top:4px; color:var(--text-muted); font-size:1rem; }
.price-modal-list button { flex:0 0 auto; border:0; background:transparent; color:var(--teal-dark); font-size:1rem; font-weight:400; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.price-modal-empty { margin:0; color:var(--text-muted); font-size:1.05rem; }
.price-order-form { display:grid; gap:14px; margin-top:20px; }
.price-order-form label { display:grid; gap:7px; color:var(--text-main); font-size:1rem; font-weight:400; }
.price-order-form input { width:100%; min-height:50px; padding:0 14px; border:1px solid rgba(18,60,82,.2); border-radius:12px; background:#fff; color:var(--text-main); font:inherit; }
.price-order-form button,.price-modal-main { min-height:52px; border:1px solid rgba(223,160,27,.5); border-radius:13px; background:linear-gradient(135deg,#11191e,#2f3b40); color:#fffaf0; font-size:1.05rem; font-weight:400; cursor:pointer; }
.price-order-form button:disabled { opacity:.45; cursor:not-allowed; }
.price-order-status { min-height:1.4em; margin:0; color:var(--teal-dark); font-size:1rem; font-weight:400; }
@keyframes selectionIconGleam { 0%,70%,100% { transform:translateX(-58%) rotate(8deg); opacity:.16; } 84% { transform:translateX(58%) rotate(8deg); opacity:.82; } }
@keyframes selectionReceive { 0%,100% { transform:translateY(0) scale(1); } 44% { transform:translateY(-4px) scale(1.055); } 70% { transform:translateY(0) scale(.985); } }
@keyframes selectionIconReceive { 0%,100% { transform:rotate(0deg) scale(1); } 45% { transform:rotate(-7deg) scale(1.13); } }
@keyframes selectionCountPop { 0%,100% { transform:scale(1); } 42% { transform:scale(1.28); background:#f0c35b; color:#123c52; } }
@media (max-width:1350px) {
  .price-row-actions { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .price-table thead th:first-child,.price-table thead th:nth-child(2),.price-table thead th:nth-child(3),.price-table thead th:nth-child(4),.price-table thead th:nth-child(5) { width:auto; }
  .price-row-actions { grid-template-columns:1fr; }
}
@media (max-width:1100px) {
  .price-table { border-spacing:0; }
  .price-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
  .price-table,.price-table tbody,.price-table tr,.price-table th,.price-table td { display:block; width:100%; }
  .price-table tbody tr { overflow:hidden; margin-bottom:12px; border:1px solid var(--border-soft); border-radius:16px; box-shadow:0 9px 22px rgba(18,60,82,.06); }
  .price-table tbody th,.price-table tbody td { padding:0 22px; border:0; box-shadow:none; }
  .price-table tbody th { padding:22px 22px 18px; border-radius:0; font-size:1.13rem; }
  .price-table tbody td { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; padding:13px 22px; border-top:1px solid var(--border-soft); font-size:1.08rem; }
  .price-table tbody td::before { content:attr(data-label); color:var(--text-muted); font-weight:400; }
  .price-table tbody td.price-action-cell { display:block; padding:14px 22px 20px; border-top:1px solid var(--border-soft); border-radius:0; box-shadow:none; }
  .price-table tbody td.price-action-cell::before { display:block; margin-bottom:10px; }
  .price-row-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .price-selection-bar { top:max(6px,env(safe-area-inset-top)); grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:8px; margin-bottom:24px; padding:7px; border-radius:21px; }
  .price-selection-button { grid-template-columns:44px minmax(0,1fr); gap:8px; min-width:0; min-height:64px; padding:7px 9px 7px 7px; border-radius:16px; font-size:1rem; }
  .price-selection-button__icon { width:44px; height:44px; border-radius:13px; }
  .price-selection-button__icon img { width:42px; height:42px; }
  .price-selection-button__label { padding-right:24px; overflow-wrap:anywhere; }
  .price-selection-button__count { position:absolute; top:6px; right:6px; min-width:27px; height:27px; padding:0 5px; font-size:1rem; }
  .price-table tbody td.price-action-cell { display:block; padding:14px 20px 20px; border-top:1px solid var(--border-soft); border-radius:0; box-shadow:none; }
  .price-table tbody td.price-action-cell::before { display:block; margin-bottom:10px; }
  .price-row-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .price-row-button { min-height:58px; padding-right:8px; font-size:1rem; }
  .price-modal { align-items:end; padding:0; }
  .price-modal__panel { width:100%; max-height:88vh; border-radius:18px 18px 0 0; padding:26px 20px 24px; }
  .price-modal__panel h2 { font-size:1.75rem; }
  .price-modal-list li { align-items:flex-start; }
  .price-modal-list button { padding-top:2px; }
}
@media (prefers-reduced-motion:reduce) {
  .price-selection-button,.price-selection-button__icon,.price-selection-button__count,.price-row-button,.price-row-feedback { animation:none!important; transition:none; }
  .price-selection-button__icon::after,.price-row-button__icon::after { animation:none; }
}
.price-table thead th:first-child { width:36%; }.price-table thead th:nth-child(2) { width:14%; }.price-table thead th:nth-child(3) { width:10%; }.price-table thead th:nth-child(4) { width:14%; }.price-table thead th:nth-child(5) { width:26%; }.price-tour-row--featured { box-shadow:0 12px 26px rgba(18,60,82,.055); }.price-tour-summary { display:flex; align-items:center; gap:20px; min-width:0; }.price-tour-image { display:block; width:144px; height:104px; flex:0 0 144px; border-radius:14px; object-fit:cover; box-shadow:0 8px 18px rgba(18,60,82,.12); }.price-tour-copy { min-width:0; }.price-tour-name { display:block; color:var(--text-main); font-size:1.18rem; font-weight:400; line-height:1.2; }.price-tour-copy p { margin:8px 0 0; color:var(--text-muted); font-size:1rem; font-weight:400; line-height:1.45; }.price-tour-row--featured > td { font-size:1.17rem; }.price-tour-row--featured .price-action-cell { min-width:0; }
@media (max-width:1100px) { .price-tour-summary { gap:15px; }.price-tour-image { width:124px; height:92px; flex-basis:124px; }.price-tour-name { font-size:1.1rem; }.price-tour-copy p { font-size:1rem; }.price-table thead th:first-child { width:36%; }.price-table thead th:nth-child(2) { width:15%; }.price-table thead th:nth-child(3) { width:10%; }.price-table thead th:nth-child(4) { width:13%; }.price-table thead th:nth-child(5) { width:26%; } }
@media (max-width:720px) { .price-tour-row--featured .price-tour-summary { display:grid; grid-template-columns:1fr; gap:14px; }.price-tour-row--featured .price-tour-image { width:100%; height:auto; aspect-ratio:4 / 3; flex-basis:auto; border-radius:13px; }.price-tour-row--featured .price-tour-copy { display:grid; gap:0; }.price-tour-row--featured .price-tour-name { font-size:1.22rem; line-height:1.19; }.price-tour-row--featured .price-tour-copy p { margin-top:8px; font-size:1rem; line-height:1.48; }.price-table tbody .price-tour-row--featured th { padding-bottom:18px; } }
.price-tour-details-link { display:block; border-radius:14px; color:inherit; text-decoration:none; }.price-tour-details-link .price-tour-image { transition:transform .2s ease,box-shadow .2s ease; }.price-tour-details-link:hover .price-tour-image { transform:scale(1.025); box-shadow:0 12px 24px rgba(18,60,82,.18); }.price-tour-details-link:hover .price-tour-name { color:var(--teal-dark); }.price-tour-more { display:inline-block!important; margin-top:10px; color:var(--teal-dark); font-size:1rem; font-weight:400; line-height:1.25; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }

.tour-detail-page main { overflow:hidden; }.tour-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px; padding-top:34px; color:var(--text-muted); font-size:1rem; font-weight:400; }.tour-breadcrumbs a { color:var(--teal-dark); text-underline-offset:4px; }.tour-detail-hero { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr); align-items:center; gap:clamp(38px,5vw,78px); padding-top:38px; padding-bottom:74px; }.tour-detail-hero__copy h1 { max-width:800px; margin:0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.8rem,5vw,5rem); font-weight:400; line-height:.98; letter-spacing:0; }.tour-detail-lead { max-width:760px; margin:24px 0 0; color:var(--text-muted); font-size:clamp(1.05rem,1.5vw,1.24rem); line-height:1.62; }.tour-detail-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; max-width:720px; margin:28px 0 0; }.tour-detail-facts div { min-width:0; padding:16px 18px; border:1px solid var(--border-soft); border-radius:14px; background:rgba(255,250,242,.76); box-shadow:0 8px 20px rgba(18,60,82,.045); }.tour-detail-facts dt { color:var(--text-muted); font-size:1rem; font-weight:400; }.tour-detail-facts dd { margin:3px 0 0; color:var(--teal-dark); font-size:1.16rem; font-weight:400; line-height:1.2; }.tour-detail-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:720px; margin-top:18px; }.tour-detail-button { min-height:54px; padding:0 20px; border:1px solid rgba(18,60,82,.22); border-radius:13px; background:linear-gradient(180deg,#fffaf0,#f0ede4); color:var(--text-main); font-weight:400; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }.tour-detail-button:hover { transform:translateY(-1px); border-color:rgba(13,104,106,.55); box-shadow:0 10px 22px rgba(18,60,82,.1); }.tour-detail-button--cart { border-color:rgba(223,160,27,.5); background:linear-gradient(135deg,#121d22,#2f3b40); color:#fffaf0; }.tour-detail-button[aria-pressed="true"] { border-color:rgba(13,104,106,.5); background:#e3eee7; color:var(--teal-dark); }.tour-detail-button--cart[aria-pressed="true"] { background:linear-gradient(135deg,#0d686a,#17262b); color:#fff; }.tour-detail-action-status { min-height:1.5em; margin:10px 0 0; color:var(--teal-dark); font-size:1rem; font-weight:400; }.tour-detail-selection-link { display:inline-block; margin-top:5px; color:var(--text-muted); font-size:1rem; font-weight:400; text-underline-offset:4px; }.tour-detail-hero__media { margin:0; overflow:hidden; border:1px solid rgba(223,160,27,.3); border-radius:26px; background:var(--surface); box-shadow:0 26px 62px rgba(18,60,82,.16); }.tour-detail-hero__media img { display:block; width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; }
.tour-detail-section { padding-top:82px; padding-bottom:82px; border-top:1px solid var(--border-soft); }.tour-detail-section h2 { max-width:900px; margin:0 0 24px; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.15rem,3.8vw,3.45rem); font-weight:400; line-height:1.04; letter-spacing:0; }.tour-detail-section p { color:var(--text-muted); font-size:1.08rem; line-height:1.7; }.tour-detail-section p:last-child { margin-bottom:0; }.tour-detail-overview { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:clamp(40px,7vw,100px); align-items:start; }.tour-detail-overview > div p { max-width:760px; }.tour-detail-highlights { display:grid; gap:0; margin:0; padding:6px 28px; list-style:none; border:1px solid var(--border-soft); border-radius:18px; background:var(--surface); box-shadow:0 14px 32px rgba(18,60,82,.06); }.tour-detail-highlights li { position:relative; padding:18px 0 18px 28px; color:var(--text-main); font-size:1.06rem; font-weight:400; }.tour-detail-highlights li + li { border-top:1px solid var(--border-soft); }.tour-detail-highlights li::before { content:""; position:absolute; left:0; top:25px; width:9px; height:9px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 4px rgba(8,125,121,.1); }
.tour-detail-program { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; counter-reset:tour-step; }.tour-detail-program li { position:relative; min-height:150px; padding:26px 26px 24px 78px; border:1px solid var(--border-soft); border-radius:17px; background:var(--surface); counter-increment:tour-step; }.tour-detail-program li::before { content:counter(tour-step); position:absolute; left:24px; top:25px; display:grid; place-items:center; width:37px; height:37px; border:1px solid rgba(13,104,106,.25); border-radius:50%; color:var(--teal-dark); font-weight:400; }.tour-detail-program strong,.tour-detail-program span { display:block; }.tour-detail-program strong { font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:1.3rem; line-height:1.2; }.tour-detail-program span { margin-top:8px; color:var(--text-muted); line-height:1.55; }
.tour-detail-section__heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:28px; }.tour-detail-section__heading h2 { margin-bottom:0; }.tour-detail-section__heading p { max-width:560px; margin:0 0 4px; }.tour-video-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,340px); gap:24px; align-items:end; }.tour-video { margin:0; }.tour-video video { display:block; width:100%; border:1px solid rgba(223,160,27,.28); border-radius:20px; background:#111; box-shadow:0 18px 44px rgba(18,60,82,.14); object-fit:cover; }.tour-video--wide video { aspect-ratio:16 / 9; }.tour-video--vertical { width:min(100%,340px); justify-self:end; }.tour-video--vertical video { aspect-ratio:9 / 16; }.tour-video figcaption { margin-top:12px; color:var(--text-muted); font-size:1rem; font-weight:400; text-align:center; }
.tour-detail-columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,6vw,90px); }.tour-detail-columns > div { min-width:0; }.tour-detail-columns h2 { font-size:clamp(2rem,3.2vw,3rem); }.tour-detail-columns ul { display:grid; gap:14px; margin:0; padding:0 0 0 22px; }.tour-detail-columns li { padding-left:7px; color:var(--text-muted); font-size:1.06rem; line-height:1.6; }.tour-detail-faq { max-width:1100px; }.tour-detail-faq details { border-top:1px solid var(--border-soft); }.tour-detail-faq details:last-child { border-bottom:1px solid var(--border-soft); }.tour-detail-faq summary { padding:21px 44px 21px 0; color:var(--text-main); font-size:1.12rem; font-weight:400; cursor:pointer; }.tour-detail-faq details p { max-width:780px; margin:0; padding:0 0 24px; }.tour-detail-back { padding-top:24px; padding-bottom:80px; }.tour-detail-back a { color:var(--teal-dark); font-size:1.05rem; font-weight:400; text-underline-offset:4px; }
@media (max-width:960px) { .tour-detail-hero { grid-template-columns:1fr; }.tour-detail-hero__media { width:min(100%,780px); }.tour-detail-overview { grid-template-columns:1fr; }.tour-detail-overview > div p { max-width:none; }.tour-detail-section__heading { display:block; }.tour-detail-section__heading p { max-width:720px; margin-top:12px; }.tour-video-layout { grid-template-columns:minmax(0,1fr) minmax(220px,300px); } }
@media (max-width:720px) { .tour-breadcrumbs { width:min(100% - 28px,1440px); padding-top:24px; font-size:1rem; }.tour-detail-hero,.tour-detail-section,.tour-detail-back { width:min(100% - 28px,1440px); }.tour-detail-hero { gap:30px; padding-top:27px; padding-bottom:52px; }.tour-detail-hero__copy h1 { font-size:clamp(2.45rem,12vw,3.45rem); line-height:1.01; }.tour-detail-lead { margin-top:18px; font-size:1.02rem; line-height:1.58; }.tour-detail-facts { grid-template-columns:1fr 1fr; }.tour-detail-facts div:last-child { grid-column:1 / -1; }.tour-detail-facts div { padding:14px 15px; }.tour-detail-actions { gap:10px; }.tour-detail-button { min-height:50px; padding:0 12px; font-size:1rem; }.tour-detail-hero__media { border-radius:18px; }.tour-detail-section { padding-top:56px; padding-bottom:56px; }.tour-detail-section h2 { margin-bottom:20px; font-size:2.25rem; }.tour-detail-section p { font-size:1.02rem; line-height:1.64; }.tour-detail-overview { gap:30px; }.tour-detail-highlights { padding-inline:20px; }.tour-detail-program { grid-template-columns:1fr; }.tour-detail-program li { min-height:0; padding:22px 20px 22px 68px; }.tour-detail-program li::before { left:18px; top:21px; }.tour-video-layout { grid-template-columns:1fr; gap:34px; }.tour-video--vertical { width:min(78vw,300px); justify-self:center; }.tour-detail-columns { grid-template-columns:1fr; gap:48px; }.tour-detail-columns h2 { font-size:2.15rem; }.tour-detail-faq summary { padding-right:20px; }.tour-detail-back { padding-bottom:56px; } }
.has-contact-dock { padding-bottom:92px; }.contact-dock { position:fixed; z-index:80; left:50%; bottom:max(12px,env(safe-area-inset-bottom)); display:flex; align-items:center; gap:14px; width:max-content; max-width:calc(100% - 48px); padding:8px; border:1px solid rgba(255,255,255,.88); border-radius:20px; background:rgba(255,250,242,.82); box-shadow:0 18px 48px rgba(18,60,82,.2),inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter:blur(16px) saturate(1.15); transform:translateX(-50%); }.contact-dock__link { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; width:142px; min-height:50px; overflow:hidden; border:1px solid rgba(255,255,255,.48); border-radius:14px; color:#fff; font-size:1rem; font-weight:400; line-height:1; text-decoration:none; text-shadow:0 1px 2px rgba(0,0,0,.16); box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -12px 22px rgba(0,0,0,.08),0 8px 18px rgba(18,60,82,.13); transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; }.contact-dock__link::after { content:""; position:absolute; inset:-55% -25%; background:linear-gradient(115deg,transparent 31%,rgba(255,255,255,.3) 46%,transparent 62%); transform:translateX(-55%) rotate(4deg); transition:transform .42s ease; pointer-events:none; }.contact-dock__link:hover { transform:translateY(-2px); filter:saturate(1.06); box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -12px 22px rgba(0,0,0,.08),0 12px 24px rgba(18,60,82,.2); }.contact-dock__link:hover::after { transform:translateX(55%) rotate(4deg); }.contact-dock__link--whatsapp { background:linear-gradient(135deg,#48d77c 0%,#18a957 55%,#087f41 100%); }.contact-dock__link--telegram { background:linear-gradient(135deg,#5fc7f4 0%,#279ddc 53%,#1479be 100%); }.contact-dock__icon { position:relative; z-index:1; display:grid; place-items:center; width:24px; height:24px; flex:0 0 auto; }.contact-dock__icon + span { position:relative; z-index:1; }.contact-dock__icon svg { display:block; width:24px; height:24px; overflow:visible; fill:currentColor; }
@media (max-width:620px) { .has-contact-dock { padding-bottom:82px; }.contact-dock { bottom:max(7px,env(safe-area-inset-bottom)); gap:8px; width:calc(100% - 48px); max-width:460px; padding:6px; border-radius:17px; }.contact-dock__link { width:auto; min-width:0; min-height:47px; flex:1 1 0; gap:5px; padding:0 7px; border-radius:12px; font-size:1rem; }.contact-dock__icon { width:20px; height:20px; }.contact-dock__icon svg { width:20px; height:20px; } }
@media (max-width:380px) { .contact-dock { gap:8px; width:calc(100% - 48px); }.contact-dock__link { width:auto; min-height:48px; flex:1 1 0; padding:0 7px; }.contact-dock__icon,.contact-dock__icon svg { width:22px; height:22px; } }

.price-filter { margin:0 0 30px; padding:28px; border:1px solid rgba(18,60,82,.13); border-radius:22px; background:linear-gradient(145deg,rgba(255,250,242,.94),rgba(239,241,233,.88)); box-shadow:0 18px 42px rgba(18,60,82,.075); }.price-filter__heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:20px; }.price-filter__heading h2 { margin:0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(1.7rem,2.6vw,2.35rem); font-weight:400; line-height:1.08; letter-spacing:0; }.price-filter__heading p { margin:7px 0 0; color:var(--text-muted); font-size:1rem; }.price-filter__reset { min-height:42px; padding:0 15px; border:0; background:transparent; color:var(--teal-dark); font-size:1rem; font-weight:400; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }.price-filter__buttons { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }.price-filter__button { position:relative; min-height:54px; padding:10px 13px; overflow:hidden; border:1px solid rgba(18,60,82,.17); border-radius:14px; background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(242,239,229,.92)); color:#284854; font-size:1rem; font-weight:400; line-height:1.18; box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 18px rgba(18,60,82,.06); transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease; }.price-filter__button::after { content:""; position:absolute; inset:-65% -35%; background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.55) 48%,transparent 60%); transform:translateX(-52%); transition:transform .42s ease; pointer-events:none; }.price-filter__button:hover { transform:translateY(-2px); border-color:rgba(13,104,106,.48); box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 22px rgba(18,60,82,.1); }.price-filter__button:hover::after { transform:translateX(52%); }.price-filter__button.is-active { border-color:#dca127; background:linear-gradient(135deg,#07383c,#0d686a 56%,#10262d); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -4px 0 rgba(169,102,8,.72),0 13px 24px rgba(7,93,99,.2); }.price-filter__button.is-active::before { content:"✓"; display:inline-grid; place-items:center; width:20px; height:20px; margin-right:7px; border:1px solid rgba(255,255,255,.55); border-radius:50%; font-size:1rem; vertical-align:-1px; }.price-filter__button--oleg { border-color:rgba(187,121,18,.34); color:#8a560b; }.price-filter__button--oleg.is-active { border-color:#b87512; background:linear-gradient(135deg,#8a4f07,#c28016 56%,#6f3d05); color:#fff9e7; }.price-filter__result { min-height:1.5em; margin:17px 0 0; color:var(--text-muted); font-size:1rem; font-weight:400; }.price-filter__buttons.is-limit { animation:filterLimit .38s ease; }.price-filter-empty { margin:34px 0 54px; padding:44px 28px; border:1px solid var(--border-soft); border-radius:18px; background:var(--surface); text-align:center; }.price-filter-empty h2 { margin:0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:2rem; font-weight:400; }.price-filter-empty p { margin:10px 0 20px; color:var(--text-muted); }.price-filter-empty button { min-height:48px; padding:0 18px; border:1px solid rgba(13,104,106,.35); border-radius:12px; background:#e4eee7; color:var(--teal-dark); font-weight:400; }@keyframes filterLimit { 35% { transform:translateX(-5px); } 70% { transform:translateX(5px); } }
@media (max-width:1180px) { .price-filter__buttons { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:720px) { .price-filter { margin-bottom:20px; padding:20px 16px; border-radius:18px; }.price-filter__heading { align-items:start; margin-bottom:16px; }.price-filter__heading h2 { font-size:1.65rem; }.price-filter__heading p { font-size:1rem; }.price-filter__reset { min-height:36px; padding:0 4px 0 10px; font-size:1rem; }.price-filter__buttons { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.price-filter__button { min-height:50px; padding:8px 9px; border-radius:12px; font-size:1rem; }.price-filter__result { margin-top:14px; font-size:1rem; }.price-filter-empty { margin-top:24px; padding:34px 18px; }.price-filter-empty h2 { font-size:1.7rem; } }
@media (max-width:390px) { .price-filter__heading { display:block; }.price-filter__reset { margin-top:7px; padding-left:0; }.price-filter__button { font-size:1rem; } }

/* First-screen navigation: two clear customer intents, with city selected inside each one. */
.intro { padding-top:clamp(48px,6vw,78px); padding-bottom:clamp(30px,4vw,48px); }
.intro h1 { max-width:1180px; }
.intro-lead { max-width:760px; margin:20px auto 0; color:var(--text-muted); font-size:clamp(1rem,1.45vw,1.17rem); line-height:1.55; text-align:center; }
.service-choosers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; width:min(100%,1060px); margin:34px auto 0; }
.service-chooser { min-width:0; padding:24px; border:1px solid rgba(18,60,82,.16); border-radius:22px; background:linear-gradient(145deg,rgba(255,250,242,.96),rgba(235,239,232,.92)); box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 16px 34px rgba(18,60,82,.09); }
.service-chooser--realty { border-color:rgba(223,160,27,.42); background:linear-gradient(145deg,#fff6c9 0%,#fff0a8 52%,#f8e69c 100%); color:var(--text-main); box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 16px 34px rgba(173,104,16,.11); }
.service-chooser__heading { display:flex; align-items:center; gap:13px; margin-bottom:18px; }
.service-chooser__icon { flex:0 0 auto; color:var(--gold-dark); font-size:2rem; font-weight:400; line-height:1; }
.service-chooser--realty .service-chooser__icon { color:var(--gold-dark); }
.service-chooser h2 { margin:0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(1.65rem,2.5vw,2.25rem); font-weight:400; line-height:1.05; letter-spacing:0; }
.service-chooser p { margin:4px 0 0; color:var(--text-muted); font-size:1rem; line-height:1.35; }
.service-chooser--tours h2 { font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.7rem,5vw,3.45rem); font-weight:400; line-height:1; letter-spacing:0; }
.service-chooser__question { color:var(--text-main)!important; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(1.45rem,2.6vw,2.05rem)!important; font-weight:400; line-height:1.08!important; letter-spacing:0; }
.service-chooser--realty h2 { font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.7rem,5vw,3.45rem); font-weight:400; line-height:1; letter-spacing:0; }
.service-chooser--realty p { color:var(--text-main); font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(1.35rem,2.35vw,1.95rem); font-weight:400; line-height:1.08; letter-spacing:0; }
.service-chooser .city-tabs { width:100%; margin:0; gap:10px; }
.service-chooser .city-tabs button { min-height:62px; border-radius:14px; font-size:1.06rem; }
.service-chooser .city-tabs button[aria-selected="true"] { border-width:2px; }
.realty-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.realty-choice { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:62px; padding:0 17px; border:1px solid rgba(173,104,16,.42); border-radius:14px; background:linear-gradient(135deg,#fffdf1 0%,#f5efd9 58%,#e9e1c9 100%); color:var(--text-main); font-size:1.06rem; font-weight:400; text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 9px 20px rgba(173,104,16,.1); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.realty-choice:hover { transform:translateY(-2px); border-color:rgba(173,104,16,.72); background:linear-gradient(135deg,#fffef7 0%,#fbf1c8 54%,#efe2b1 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 14px 26px rgba(173,104,16,.16); }
.realty-choice span:last-child { color:var(--gold-dark); font-size:1.4rem; line-height:1; }
.service-chooser + .service-chooser { position:relative; }

@media (max-width:720px) {
  .intro { padding-top:30px; padding-bottom:24px; }
  .intro h1 { font-size:clamp(2.1rem,9.1vw,3.05rem); }
  .intro-lead { margin-top:15px; font-size:1rem; line-height:1.5; }
  .service-choosers { grid-template-columns:1fr; gap:12px; margin-top:24px; }
  .service-chooser { padding:11px 12px; border-radius:18px; }
  .service-chooser__heading { margin-bottom:7px; gap:10px; }
  .service-chooser__icon { font-size:1.7rem; }
  .service-chooser h2 { font-size:1.75rem; }
  .service-chooser p { font-size:1rem; }
  .service-chooser--tours h2 { font-size:clamp(2.2rem,11vw,2.9rem); }
  .service-chooser--realty h2 { font-size:clamp(2.2rem,11vw,2.9rem); }
  .service-chooser__question { font-size:clamp(1.25rem,6vw,1.6rem)!important; }
  .service-chooser--realty p { font-size:clamp(1.2rem,5.8vw,1.55rem); }
  .service-chooser .city-tabs button,.realty-choice { min-height:46px; font-size:1rem; }
  .realty-choice { padding-inline:14px; }
  .intro .price-link { margin-top:0; }
}

/* Real-estate catalog city pages. No listings are implied until a verified object feed is provided. */
.property-intro { padding:54px 0 32px; }
.property-city-switch { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
.property-city-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; min-width:144px; padding:0 20px; border:1px solid rgba(18,60,82,.2); border-radius:13px; background:rgba(255,250,242,.74); color:var(--text-main); font-weight:400; text-decoration:none; transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease; }
.property-city-link:hover { transform:translateY(-1px); border-color:rgba(13,104,106,.5); color:var(--teal-dark); }
.property-city-link.is-current { border-color:rgba(223,160,27,.62); background:linear-gradient(135deg,#0d686a,#17353a 58%,#101b20); color:#fffaf0; box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 22px rgba(18,60,82,.13); }
.property-intro h1 { max-width:920px; margin:0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.55rem,5vw,4.7rem); font-weight:400; line-height:1.02; letter-spacing:0; }
.property-lead { max-width:790px; margin:22px 0 0; color:var(--text-muted); font-size:1.12rem; line-height:1.62; }
.property-catalog { padding:28px 0 92px; border-top:1px solid var(--border-soft); }
.property-catalog h2 { margin:0 0 22px; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2rem,3.2vw,3rem); font-weight:400; line-height:1.08; letter-spacing:0; }
.property-type-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.property-type { min-height:184px; padding:24px; border:1px solid var(--border-soft); border-radius:17px; background:var(--surface); box-shadow:0 10px 24px rgba(18,60,82,.055); }
.property-type h3 { margin:0; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:1.42rem; font-weight:400; line-height:1.12; letter-spacing:0; }
.property-type p { margin:12px 0 0; color:var(--text-muted); font-size:1rem; line-height:1.52; }
.property-request { max-width:760px; margin:34px 0 0; color:var(--text-muted); font-size:1.08rem; line-height:1.6; }
.property-contact-link { display:inline-block; margin-top:12px; color:#149646; font-size:1.08rem; font-weight:400; text-underline-offset:5px; }
@media (max-width:1050px) { .property-type-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .property-intro { padding:38px 0 26px; }.property-city-switch { margin-bottom:24px; }.property-city-link { flex:1; min-width:0; min-height:46px; padding:0 12px; }.property-intro h1 { font-size:clamp(2.35rem,10.8vw,3.35rem); }.property-lead { margin-top:17px; font-size:1.03rem; line-height:1.57; }.property-catalog { padding:24px 0 64px; }.property-catalog h2 { margin-bottom:17px; font-size:2rem; }.property-type-grid { grid-template-columns:1fr; gap:12px; }.property-type { min-height:0; padding:21px 20px; border-radius:15px; }.property-type h3 { font-size:1.36rem; }.property-type p { margin-top:8px; }.property-request { margin-top:28px; font-size:1rem; }.property-contact-link { margin-top:10px; font-size:1rem; } }

.tour-minimal-page { background:#fbf7ed; }.tour-minimal-header { justify-content:center; padding-block:10px; }.tour-minimal-header .brand-banner { width:min(100%,620px); }.tour-minimal { width:min(100% - 32px,1120px); padding-top:34px; padding-bottom:80px; }.tour-minimal__back { display:inline-block; margin-bottom:28px; color:var(--teal-dark); font-size:1rem; font-weight:400; text-underline-offset:4px; }.tour-minimal h1 { max-width:900px; margin:0 auto 38px; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.5rem,5.4vw,4.8rem); font-weight:400; line-height:1.02; letter-spacing:0; text-align:center; }.tour-minimal-video { margin:0 auto; }.tour-minimal-video video { display:block; width:100%; height:100%; border:0; border-radius:22px; background:#101719; box-shadow:0 24px 58px rgba(18,60,82,.16); object-fit:cover; }.tour-minimal-video--vertical { width:min(100%,410px); }.tour-minimal-video--vertical video { aspect-ratio:9 / 16; }.tour-minimal-video--horizontal { width:min(100%,1040px); margin-top:54px; }.tour-minimal-video--horizontal video { aspect-ratio:16 / 9; }.tour-minimal__summary { width:min(100%,760px); margin:48px auto 0; text-align:center; }.tour-minimal__summary > p:first-child { margin:0; color:var(--text-main); font-size:clamp(1.08rem,1.7vw,1.25rem); line-height:1.68; }.tour-minimal__actions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }.tour-minimal__button { min-height:58px; padding:0 20px; border:1px solid rgba(18,60,82,.22); border-radius:14px; background:#f6f2e8; color:var(--text-main); font-size:1.05rem; font-weight:400; box-shadow:0 10px 22px rgba(18,60,82,.07); transition:transform .16s ease,border-color .16s ease,background .16s ease; }.tour-minimal__button:hover { transform:translateY(-2px); border-color:rgba(13,104,106,.5); }.tour-minimal__button--cart { border-color:rgba(223,160,27,.5); background:#172328; color:#fffaf0; }.tour-minimal__button[aria-pressed="true"] { border-color:rgba(13,104,106,.5); background:#e1ece5; color:var(--teal-dark); }.tour-minimal__button--cart[aria-pressed="true"] { background:#0d686a; color:#fff; }.tour-minimal__status { min-height:1.5em; margin:10px 0 0; color:var(--teal-dark); font-size:1rem; font-weight:400; }.tour-minimal__contacts { display:flex; align-items:center; justify-content:center; gap:22px; margin-top:20px; }.tour-minimal__contacts a { display:block; width:70px; height:70px; border-radius:20px; transition:transform .16s ease,filter .16s ease; }.tour-minimal__contacts a:hover { transform:translateY(-3px); filter:saturate(1.06); }.tour-minimal__contacts img { display:block; width:100%; height:100%; border-radius:20px; object-fit:cover; }
@media (max-width:720px) { .tour-minimal-header { padding-block:8px; }.tour-minimal-header .brand-banner { width:min(100%,300px); }.tour-minimal { width:min(100% - 28px,1120px); padding-top:24px; padding-bottom:58px; }.tour-minimal__back { margin-bottom:22px; font-size:1rem; }.tour-minimal h1 { margin-bottom:27px; font-size:clamp(2.25rem,11vw,3.15rem); line-height:1.04; }.tour-minimal-video video { border-radius:17px; box-shadow:0 18px 40px rgba(18,60,82,.14); }.tour-minimal-video--vertical { width:min(100%,390px); }.tour-minimal-video--horizontal { margin-top:34px; }.tour-minimal__summary { margin-top:32px; }.tour-minimal__summary > p:first-child { font-size:1.04rem; line-height:1.62; }.tour-minimal__actions { gap:10px; margin-top:23px; }.tour-minimal__button { min-height:52px; padding-inline:12px; font-size:1rem; }.tour-minimal__contacts { gap:18px; margin-top:17px; }.tour-minimal__contacts a,.tour-minimal__contacts img { width:62px; height:62px; border-radius:17px; } }
.tour-card h3 a { color:inherit; text-decoration-color:rgba(7,93,99,.32); text-decoration-thickness:1px; text-underline-offset:5px; }.tour-card h3 a:hover { color:var(--teal-dark); text-decoration-color:currentColor; }
.priority-tours { margin:12px auto 42px; padding:24px 0 0; border-top:1px solid var(--border-soft); }.priority-tours h2 { max-width:900px; margin:0 0 22px; font-size:clamp(1.9rem,3.2vw,2.85rem); line-height:1.08; }.priority-tours ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }.priority-tours li { min-width:0; }.priority-tours a { position:relative; display:flex; align-items:center; min-height:68px; padding:14px 54px 14px 20px; border:1px solid rgba(18,60,82,.14); border-radius:16px; background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,250,242,.88)); color:var(--teal-dark); font-size:1.05rem; line-height:1.35; text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 8px 20px rgba(18,60,82,.055); transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease; }.priority-tours a::after { content:"→"; position:absolute; right:20px; color:var(--gold-dark); font-size:1.3rem; line-height:1; transition:transform .16s ease; }.priority-tours a:hover { transform:translateY(-2px); border-color:rgba(13,104,106,.42); background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(240,244,237,.92)); box-shadow:inset 0 1px 0 #fff,0 14px 28px rgba(18,60,82,.1); }.priority-tours a:hover::after { transform:translateX(3px); }.priority-tours a:active { transform:translateY(0); }
.tour-detail-hero--text { grid-template-columns:minmax(0,980px); }.tour-detail-hero--text .tour-detail-hero__copy { max-width:980px; }.tour-detail-meta { max-width:780px; margin:22px 0 0; color:var(--text-main); font-size:1.08rem; line-height:1.6; }.tour-detail-cta-label { margin:26px 0 8px; color:var(--text-main); font-size:1.2rem; }.tour-booking-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:8px; }.tour-booking-links a { color:var(--teal-dark); font-size:1.08rem; text-decoration-thickness:1px; text-underline-offset:5px; }.tour-booking-links a:first-child { color:#148d45; }.tour-booking-fields { max-width:780px; margin:12px 0 0; color:var(--text-muted); font-size:1rem; line-height:1.55; }
.tour-detail-timeline { position:relative; display:grid; gap:0; max-width:980px; margin:0; padding:0; list-style:none; }.tour-detail-timeline::before { content:""; position:absolute; left:118px; top:12px; bottom:12px; width:1px; background:var(--border-soft); }.tour-detail-timeline li { position:relative; display:grid; grid-template-columns:100px minmax(0,1fr); gap:38px; min-height:76px; padding:12px 0 18px; }.tour-detail-timeline li::before { content:""; position:absolute; left:113px; top:20px; width:11px; height:11px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 5px var(--page-bg); }.tour-detail-timeline span { color:var(--teal-dark); font-size:1rem; line-height:1.4; }.tour-detail-timeline p { margin:0; color:var(--text-main); font-size:1.08rem; line-height:1.55; }
.tour-detail-note-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.tour-detail-note-grid article { padding:30px; border:1px solid var(--border-soft); border-radius:18px; background:var(--surface); }.tour-detail-note-grid article:first-child { border-left:4px solid var(--gold); }.tour-detail-note-grid h2 { font-size:clamp(1.8rem,3vw,2.55rem); }.tour-detail-note-grid ul { margin:0; padding-left:22px; }.tour-detail-note-grid li { margin-top:10px; color:var(--text-muted); font-size:1.06rem; line-height:1.6; }.tour-detail-important { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 42px; max-width:1100px; margin:0; padding-left:24px; }.tour-detail-important li { color:var(--text-muted); font-size:1.08rem; line-height:1.6; }
.tour-price-source { max-width:1000px; }.tour-price-list { display:grid; gap:12px; margin:22px 0 0; padding:0; list-style:none; }.tour-price-list li { display:grid; gap:4px; padding:18px 20px; border:1px solid var(--border-soft); border-radius:14px; background:var(--surface); }.tour-price-list span { color:var(--text-muted); font-size:1rem; line-height:1.5; }.tour-price-list span:first-child { color:var(--text-main); font-size:1.08rem; }.tour-inline-link { color:var(--teal-dark); font-size:1.06rem; text-underline-offset:5px; }.tour-detail-final { max-width:1440px; }.tour-detail-final > p { max-width:780px; }.tour-detail-related { padding-top:18px; padding-bottom:78px; }.tour-detail-related h2 { margin:0 0 18px; font-size:clamp(1.75rem,3vw,2.4rem); }.tour-detail-related ul { display:flex; flex-wrap:wrap; gap:10px 28px; margin:0 0 28px; padding-left:22px; }.tour-detail-related li,.tour-detail-related a { font-size:1.05rem; }.tour-detail-related a { color:var(--teal-dark); text-underline-offset:4px; }
@media (max-width:1100px) { .priority-tours ul { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .priority-tours { margin-bottom:28px; padding-top:20px; }.priority-tours h2 { margin-bottom:18px; font-size:clamp(1.75rem,8.5vw,2.2rem); }.priority-tours ul { grid-template-columns:1fr; gap:10px; }.priority-tours a { min-height:62px; padding:13px 50px 13px 17px; border-radius:14px; font-size:1rem; }.priority-tours a::after { right:17px; }.tour-detail-meta { margin-top:17px; font-size:1rem; }.tour-detail-cta-label { margin-top:22px; font-size:1.1rem; }.tour-booking-links { gap:10px 20px; }.tour-booking-links a { font-size:1.03rem; }.tour-detail-timeline::before { left:10px; }.tour-detail-timeline li { display:block; min-height:0; padding:9px 0 22px 35px; }.tour-detail-timeline li::before { left:5px; top:16px; }.tour-detail-timeline span { display:block; margin-bottom:5px; }.tour-detail-timeline p { font-size:1.02rem; }.tour-detail-note-grid { grid-template-columns:1fr; }.tour-detail-note-grid article { padding:22px 20px; }.tour-detail-note-grid h2 { font-size:2rem; }.tour-detail-important { grid-template-columns:1fr; gap:10px; }.tour-price-list li { padding:16px; }.tour-detail-related { width:min(100% - 28px,1440px); padding-bottom:58px; }.tour-detail-related ul { display:grid; gap:10px; } }
.tour-detail-price-lead { max-width:780px; margin:22px 0 0; color:var(--teal-dark); font-size:clamp(1.3rem,2vw,1.65rem); font-weight:400; line-height:1.35; }.tour-price-context + .tour-price-context,.tour-price-context + p { margin-top:34px; }.tour-price-context h3 { margin:0 0 12px; color:var(--text-main); font-size:clamp(1.35rem,2vw,1.7rem); font-weight:400; line-height:1.25; }.tour-price-context > p { max-width:880px; }
.wrap,.header-inner,.intro { width:min(calc(100% - var(--page-inline)),1280px); }
.price-page .price-intro,.price-page .price-catalog { width:min(calc(100% - var(--page-inline)),1320px); }
.tour-minimal { width:min(calc(100% - var(--page-inline)),1120px); }
body,button,input,textarea,select,option,table,th,td,h1,h2,h3,h4,h5,h6,p,a,span,li,dt,dd,summary,strong,b,em,i,cite,address,code,pre,kbd,samp { font-family:"Onest",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-style:normal; font-weight:400; }
h1,h2,h3,h4,h5,h6,.price-tour-name { letter-spacing:0!important; overflow-wrap:anywhere; text-wrap:balance; }
.lead,.intro-lead,.price-lead,.property-lead,.property-request,.tour-detail-lead,.tour-detail-meta,.tour-detail-section p,.tour-booking-fields,.ai-intro p { max-width:72ch; }
.price-table tbody th,.price-table tbody td { padding:20px; }
.price-tour-summary { gap:16px; }
.price-tour-image { width:128px; height:96px; flex-basis:128px; }
.price-tour-copy { min-width:0; }
@media (max-width:720px) { .price-filter { padding:22px 20px; }.price-table tbody th { padding:22px 20px 18px; }.price-table tbody td { padding:13px 20px; }.tour-card > div,.tour-detail-note-grid article,.property-type { padding-right:22px; padding-left:22px; }.service-chooser--tours h2,.service-chooser--realty h2 { font-size:2.1rem; line-height:1.12; } }
.tour-detail-page .tour-breadcrumbs { padding-top:24px; }
.tour-detail-page .tour-detail-hero { gap:clamp(28px,4vw,56px); padding-top:30px; padding-bottom:40px; }
.tour-section-nav { position:sticky; top:0; z-index:30; border-top:1px solid rgba(18,60,82,.09); border-bottom:1px solid rgba(18,60,82,.12); background:rgba(249,246,238,.9); box-shadow:0 8px 24px rgba(18,60,82,.05); backdrop-filter:blur(18px) saturate(1.14); -webkit-backdrop-filter:blur(18px) saturate(1.14); }
.tour-section-nav .wrap { display:flex; align-items:center; gap:clamp(18px,4vw,42px); min-height:60px; overflow-x:auto; scrollbar-width:none; }
.tour-section-nav .wrap::-webkit-scrollbar { display:none; }
.tour-section-nav a { display:inline-flex; align-items:center; min-height:48px; color:var(--teal-dark); font-size:1rem; white-space:nowrap; text-decoration-thickness:1px; text-underline-offset:5px; }
.tour-section-nav a:hover { color:var(--text-main); }
.tour-section-nav a:focus-visible { border-radius:8px; outline:3px solid rgba(13,104,106,.24); outline-offset:2px; }
.tour-detail-page [id="overview"],.tour-detail-page [id="program"],.tour-detail-page [id="price"],.tour-detail-page [id="questions"] { scroll-margin-top:78px; }
.tour-detail-page .tour-detail-section { padding-top:36px; padding-bottom:36px; }
.tour-detail-page .tour-detail-section h2 { margin-bottom:16px; font-size:clamp(2rem,3.2vw,2.9rem); line-height:1.08; }
.tour-detail-page .tour-detail-overview { grid-template-columns:1fr; gap:22px; }
.tour-detail-page .tour-detail-highlights { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:24px; padding:4px 24px; }
.tour-detail-page .tour-detail-highlights li + li { border-top:0; }
.tour-detail-page .tour-detail-highlights li:nth-child(n+4) { border-top:1px solid var(--border-soft); }
.tour-detail-page .tour-detail-highlights li { padding-top:14px; padding-bottom:14px; }
.tour-detail-page .tour-detail-highlights li::before { top:21px; }
.tour-detail-page .tour-detail-timeline li { min-height:64px; padding-top:8px; padding-bottom:14px; }
.tour-detail-page .tour-detail-timeline li::before { top:16px; }
.tour-detail-page .tour-detail-columns { gap:clamp(26px,4vw,56px); }
.tour-detail-page .tour-detail-columns ul { gap:9px; }
.tour-detail-page .tour-detail-note-grid { gap:16px; }
.tour-detail-page .tour-detail-note-grid article { padding:24px; }
.tour-detail-page .tour-detail-note-grid h2 { font-size:clamp(1.8rem,2.6vw,2.25rem); }
.tour-detail-page .tour-detail-note-grid li { margin-top:7px; }
.tour-detail-page .tour-detail-important { gap:10px 36px; }
.tour-detail-page .tour-price-list { margin-top:16px; gap:9px; }
.tour-detail-page .tour-price-list li { padding:15px 18px; }
.tour-detail-page .tour-price-context + .tour-price-context,.tour-detail-page .tour-price-context + p { margin-top:24px; }
.tour-detail-page .tour-detail-faq summary { padding-top:17px; padding-bottom:17px; }
.tour-detail-page .tour-detail-faq details p { padding-bottom:19px; }
.tour-detail-page .tour-detail-related { padding-top:12px; padding-bottom:48px; }
.tour-detail-page .tour-detail-related ul { margin-bottom:22px; }
@media (max-width:720px) {
  .tour-detail-page .tour-breadcrumbs { padding-top:18px; }
  .tour-detail-page .tour-detail-hero { gap:22px; padding-top:20px; padding-bottom:30px; }
  .tour-detail-page .tour-detail-section { padding-top:28px; padding-bottom:28px; }
  .tour-detail-page .tour-detail-section h2 { margin-bottom:14px; font-size:1.95rem; line-height:1.1; }
  .tour-detail-page .tour-detail-overview { gap:22px; }
  .tour-detail-page .tour-detail-highlights { grid-template-columns:1fr; padding-inline:18px; }
  .tour-detail-page .tour-detail-highlights li + li { border-top:1px solid var(--border-soft); }
  .tour-detail-page .tour-detail-highlights li { padding-top:13px; padding-bottom:13px; }
  .tour-detail-page .tour-detail-highlights li::before { top:20px; }
  .tour-detail-page .tour-detail-timeline li { min-height:0; padding:7px 0 16px 32px; }
  .tour-detail-page .tour-detail-timeline li::before { top:14px; }
  .tour-detail-page .tour-detail-columns { gap:30px; }
  .tour-detail-page .tour-detail-note-grid { gap:12px; }
  .tour-detail-page .tour-detail-note-grid article { padding:20px; }
  .tour-detail-page .tour-detail-note-grid h2 { font-size:1.85rem; }
  .tour-detail-page .tour-detail-related { padding-top:10px; padding-bottom:42px; }
}
@media (min-width:721px) and (max-width:960px) {
  .tour-detail-page .tour-detail-highlights { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tour-detail-page .tour-detail-highlights li:nth-child(3) { border-top:1px solid var(--border-soft); }
}
.tour-detail-page .tour-booking-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; width:min(100%,760px); margin-top:14px; }
.tour-contact-card { position:relative; isolation:isolate; display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:14px; min-height:80px; padding:12px 18px 12px 12px; overflow:hidden; border:1px solid rgba(255,255,255,.66); border-radius:22px; color:#fff; text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.58),inset 0 -14px 28px rgba(0,0,0,.08),0 14px 30px rgba(18,60,82,.16); backdrop-filter:blur(18px) saturate(1.24); transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.tour-detail-page .tour-booking-links .tour-contact-card { color:#fff; }
.tour-contact-card::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 18% 0%,rgba(255,255,255,.34),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.12),transparent 52%); pointer-events:none; }
.tour-contact-card::after { content:""; position:absolute; z-index:-1; inset:-70% -36%; background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.28) 49%,transparent 60%); transform:translateX(-64%) rotate(5deg); animation:tourGlassGleam 5.6s ease-in-out infinite; pointer-events:none; }
.tour-contact-card--whatsapp { background:linear-gradient(135deg,#43dc7d 0%,#1fbd65 42%,#0b9149 100%); }
.tour-contact-card--telegram { background:linear-gradient(135deg,#5dcbf5 0%,#2aabee 46%,#187ebd 100%); }
.tour-contact-card--telegram::after { animation-delay:-2.8s; }
.tour-contact-card:hover { transform:translateY(-2px); filter:saturate(1.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -14px 28px rgba(0,0,0,.08),0 18px 36px rgba(18,60,82,.22); }
.tour-contact-card:active { transform:translateY(0) scale(.99); }
.tour-contact-card:focus-visible { outline:3px solid rgba(7,93,99,.34); outline-offset:3px; }
.tour-contact-card__icon { display:grid; place-items:center; width:52px; height:52px; border:1px solid rgba(255,255,255,.62); border-radius:16px; background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,255,255,.12)); box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 7px 16px rgba(0,0,0,.11); }
.tour-contact-card__icon svg { display:block; width:31px; height:31px; fill:currentColor; }
.tour-contact-card__copy,.tour-contact-card__title,.tour-contact-card__hint { display:block; min-width:0; }
.tour-contact-card__title { font-size:1.1rem; line-height:1.18; }
.tour-contact-card__hint { margin-top:4px; color:rgba(255,255,255,.88); font-size:1rem; line-height:1.2; }
.tour-detail-page .tour-detail-faq details { border-color:rgba(18,60,82,.13); }
.tour-detail-page .tour-detail-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; margin:0 -8px; padding:12px 8px; border-radius:17px; list-style:none; transition:background .18s ease,color .18s ease; }
.tour-detail-page .tour-detail-faq summary::-webkit-details-marker { display:none; }
.tour-detail-page .tour-detail-faq summary::marker { content:""; }
.tour-detail-page .tour-detail-faq summary > span:first-child { flex:1 1 auto; min-width:0; font-size:1.18rem; line-height:1.35; }
.tour-detail-page .tour-detail-faq summary:hover,.tour-detail-page .tour-detail-faq details[open] summary { background:rgba(255,255,255,.48); color:var(--teal-dark); }
.tour-detail-page .tour-detail-faq summary:focus-visible { outline:3px solid rgba(13,104,106,.24); outline-offset:2px; }
.tour-faq-toggle { position:relative; display:block; width:48px; height:48px; flex:0 0 48px; overflow:hidden; border:1px solid rgba(255,255,255,.78); border-radius:16px; background:radial-gradient(circle at 28% 14%,rgba(255,255,255,.52),transparent 38%),linear-gradient(145deg,#45d987,#17ad60 56%,#078247); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -8px 16px rgba(3,83,43,.18),0 9px 20px rgba(10,142,77,.24); transition:transform .22s ease,box-shadow .22s ease; }
.tour-faq-toggle::before { content:""; position:absolute; inset:-75% -50%; background:linear-gradient(112deg,transparent 38%,rgba(255,255,255,.42) 50%,transparent 61%); transform:translateX(-62%) rotate(6deg); animation:tourGlassGleam 5.2s ease-in-out infinite; }
.tour-faq-toggle__mark::before,.tour-faq-toggle__mark::after { content:""; position:absolute; z-index:1; top:50%; left:50%; width:20px; height:3px; border-radius:99px; background:currentColor; box-shadow:0 1px 2px rgba(0,66,34,.18); transform:translate(-50%,-50%); transition:transform .22s ease,opacity .22s ease; }
.tour-faq-toggle__mark::after { transform:translate(-50%,-50%) rotate(90deg); }
.tour-detail-faq details[open] .tour-faq-toggle { transform:rotate(2deg); box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -8px 16px rgba(3,83,43,.18),0 6px 14px rgba(10,142,77,.2); }
.tour-detail-faq details[open] .tour-faq-toggle__mark::after { opacity:0; transform:translate(-50%,-50%) rotate(90deg) scaleY(0); }
.tour-detail-page .tour-detail-faq details p { max-width:880px; padding:0 76px 20px 8px; line-height:1.62; }
.tour-detail-page .tour-detail-related ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 20px; padding:0; list-style:none; }
.tour-detail-page .tour-detail-related li { min-width:0; }
.tour-detail-page .tour-related-card { display:grid; grid-template-columns:minmax(0,1fr) 46px; align-items:center; gap:16px; height:100%; min-height:142px; padding:20px; border:1px solid rgba(18,60,82,.14); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(235,240,232,.7)); color:var(--text-main); text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(18,60,82,.07); backdrop-filter:blur(16px) saturate(1.12); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.tour-detail-page .tour-related-card:hover { transform:translateY(-2px); border-color:rgba(13,104,106,.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 15px 30px rgba(18,60,82,.12); }
.tour-detail-page .tour-related-card:focus-visible,.tour-detail-page .tour-detail-related-all:focus-visible { outline:3px solid rgba(13,104,106,.24); outline-offset:3px; }
.tour-related-card__copy,.tour-related-card__title,.tour-related-card__description { display:block; min-width:0; }
.tour-related-card__title { color:var(--teal-dark); font-size:1.18rem; line-height:1.28; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.tour-related-card__description { margin-top:9px; color:var(--text-muted); font-size:1rem; line-height:1.45; }
.tour-related-card__arrow,.tour-detail-related-all__arrow { display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(255,255,255,.76); border-radius:15px; background:radial-gradient(circle at 28% 14%,rgba(255,255,255,.56),transparent 40%),linear-gradient(145deg,#dff4e8,#bce6cc); color:#087b46; box-shadow:inset 0 1px 0 rgba(255,255,255,.84),0 8px 17px rgba(8,123,70,.14); transition:transform .18s ease; }
.tour-related-card:hover .tour-related-card__arrow { transform:translateX(2px); }
.tour-related-card__arrow svg,.tour-detail-related-all__arrow svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.tour-detail-page .tour-detail-related-all { display:inline-flex; align-items:center; gap:11px; min-height:54px; padding:4px 17px 4px 4px; border:1px solid rgba(18,60,82,.14); border-radius:18px; background:rgba(255,255,255,.62); color:var(--teal-dark); font-size:1.05rem; text-decoration:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(18,60,82,.06); }
.tour-detail-related-all__arrow { width:44px; height:44px; border-radius:14px; }
@keyframes tourGlassGleam { 0%,72%,100% { transform:translateX(-64%) rotate(6deg); } 86% { transform:translateX(64%) rotate(6deg); } }
@media (max-width:720px) {
  .tour-detail-page .tour-booking-links { grid-template-columns:1fr; gap:12px; width:100%; }
  .tour-contact-card { min-height:78px; border-radius:20px; }
  .tour-detail-page .tour-detail-faq summary { gap:14px; min-height:72px; margin-inline:0; padding:10px 0; }
  .tour-detail-page .tour-detail-faq summary > span:first-child { font-size:1.08rem; line-height:1.36; }
  .tour-detail-page .tour-detail-faq details p { padding:0 0 18px; }
  .tour-detail-page .tour-detail-related ul { grid-template-columns:1fr; gap:12px; }
  .tour-detail-page .tour-related-card { min-height:116px; padding:18px; border-radius:18px; }
}
@media (max-width:340px) {
  .tour-detail-page .tour-contact-card { min-height:110px; }
}
@media (prefers-reduced-motion:reduce) {
  .tour-contact-card,.tour-faq-toggle,.tour-faq-toggle::before,.tour-faq-toggle__mark::before,.tour-faq-toggle__mark::after,.tour-related-card,.tour-related-card__arrow { animation:none; transition:none; }
}
/* -------- заявка из корзины: состав компании, расчёт, способ связи -------- */
.price-order-people { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.price-order-total { min-height:1.4em; margin:0; padding:12px 14px; border-radius:12px; background:#eef5f0; color:var(--teal-dark); font-size:1.08rem; line-height:1.45; }.price-order-total:empty { display:none; }.price-order-form textarea { width:100%; min-height:72px; padding:12px 14px; border:1px solid rgba(18,60,82,.2); border-radius:12px; background:#fff; color:var(--text-main); font:inherit; resize:vertical; }.price-order-form input:focus-visible,.price-order-form textarea:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }.price-order-contact { display:grid; gap:8px; margin:0; padding:0; border:0; min-width:0; }.price-order-contact legend { padding:0; margin-bottom:4px; color:var(--text-main); font-size:1rem; }.price-order-contact__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.price-contact-choice { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:74px; padding:10px 4px; border:1px solid rgba(18,60,82,.2); border-radius:13px; background:#fff; color:var(--text-main); font-size:1rem; line-height:1.15; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }.price-contact-choice input { position:absolute; width:1px; height:1px; margin:0; opacity:0; pointer-events:none; }.price-contact-choice__icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 14px rgba(18,60,82,.14); }.price-contact-choice__icon svg { width:22px; height:22px; fill:currentColor; }.price-contact-choice--whatsapp .price-contact-choice__icon { background:linear-gradient(135deg,#48d77c,#18a957 60%,#087f41); }.price-contact-choice--telegram .price-contact-choice__icon { background:linear-gradient(135deg,#5fc7f4,#279ddc 55%,#1479be); }.price-contact-choice--max .price-contact-choice__icon { background:linear-gradient(135deg,#8a6cf5,#5a3fd6 60%,#3d2aa6); }.price-contact-choice--sms .price-contact-choice__icon { background:linear-gradient(135deg,#f4c56a,#dfa01b 60%,#ad6810); }.price-contact-choice:hover { transform:translateY(-1px); border-color:rgba(13,104,106,.5); }.price-contact-choice:has(input:checked) { border-color:var(--teal); background:#e6f2ed; color:var(--teal-dark); box-shadow:0 0 0 2px rgba(8,125,121,.2); }.price-contact-choice:has(input:focus-visible) { outline:3px solid var(--gold); outline-offset:2px; }.price-order-trap { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }.price-order-fallback { min-height:48px; border:1px solid rgba(18,60,82,.22); border-radius:12px; background:#fff; color:var(--text-main); }.price-order-done { display:grid; gap:14px; margin-top:8px; }.price-order-done h3 { margin:0; font-size:1.75rem; line-height:1.15; }.price-order-done p { margin:0; color:var(--text-muted); line-height:1.55; }.price-order-done__link { display:flex; align-items:center; justify-content:center; text-decoration:none; }.price-order-done__close { min-height:48px; border:1px solid rgba(18,60,82,.22); border-radius:12px; background:#fff; color:var(--text-main); }
/* -------- прайс: навигация по разделам и сворачивание на телефоне -------- */
.price-section-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 26px; }.price-section-nav a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 15px; border:1px solid var(--border-soft); border-radius:999px; background:var(--surface); color:var(--teal-dark); font-size:1rem; text-decoration:none; transition:border-color .16s ease,transform .16s ease; }.price-section-nav a:hover { transform:translateY(-1px); border-color:rgba(13,104,106,.5); }.price-section-nav a span { color:var(--text-muted); }.price-section h2 button { display:flex; align-items:center; gap:12px; width:100%; padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:default; }.price-section h2 button > span:first-child { flex:1 1 auto; min-width:0; }.price-section__count { flex:0 0 auto; color:var(--text-muted); font-size:1.05rem; line-height:1.2; white-space:nowrap; }.price-section__chevron { display:none; flex:0 0 auto; width:14px; height:14px; border-right:2px solid var(--teal-dark); border-bottom:2px solid var(--teal-dark); transform:rotate(45deg); transition:transform .18s ease; }.price-tour-copy .price-tour-meta { display:none; }
@media (max-width:960px) { .price-section h2 button { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"title chevron" "count chevron"; align-items:center; gap:4px 14px; min-height:44px; cursor:pointer; }.price-section h2 button > span:first-child { grid-area:title; }.price-section__count { grid-area:count; }.price-section__chevron { grid-area:chevron; }.price-section__chevron { display:block; margin-right:6px; }.price-section[data-collapsed] .price-section__chevron { transform:rotate(-45deg); }.price-section[data-collapsed] .price-table-wrap { display:none; }.price-section[data-collapsed] { padding-bottom:8px; } }
@media (max-width:720px) { .price-section-nav { flex-wrap:nowrap; margin:0 -14px 22px; padding:2px 14px 6px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; -webkit-overflow-scrolling:touch; }.price-section-nav::-webkit-scrollbar { display:none; }.price-section-nav a { flex:0 0 auto; scroll-snap-align:start; }.price-tour-copy .price-tour-meta { display:block; margin-top:6px; color:var(--text-main); font-size:1rem; line-height:1.45; }.price-table tbody td[data-label="Взрослый"],.price-table tbody td[data-label="Ребёнок"],.price-table tbody td[data-label="Проводится"] { display:none; }.price-table tbody th { padding-bottom:16px; }.price-table tbody td.price-action-cell { padding-top:12px; padding-bottom:16px; }.price-table tbody td.price-action-cell::before { display:none; }.price-row-button { min-height:50px; }.price-section__count { font-size:1rem; }.price-order-people { gap:10px; }.price-order-contact__grid { gap:6px; }.price-contact-choice { min-height:70px; padding:8px 2px; }.priority-tours ul { display:flex; gap:10px; margin:0 -14px; padding:0 14px 8px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }.priority-tours ul::-webkit-scrollbar { display:none; }.priority-tours li { flex:0 0 min(78%,300px); scroll-snap-align:start; } }
/* -------- карточка экскурсии: корзина и факты для детей -------- */
.tour-detail-hero__copy .tour-detail-actions { margin-top:22px; }.tour-detail-kids-facts { display:grid; gap:8px; margin:14px 0 0; padding:0; list-style:none; }.tour-detail-kids-facts li { padding:11px 14px; border:1px solid var(--border-soft); border-radius:12px; background:var(--surface); color:var(--text-main); font-size:1.02rem; line-height:1.5; }.tour-detail-kids-price { margin:0 0 12px; color:var(--teal-dark); font-size:1.12rem; }
@media (max-width:440px) { .price-order-contact__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.price-contact-choice { flex-direction:row; justify-content:flex-start; gap:10px; min-height:56px; padding:8px 12px; }.price-contact-choice__icon { width:34px; height:34px; } }
@media (max-width:720px) { .price-page .price-section h2 { margin-bottom:10px; font-size:1.5rem; line-height:1.18; }.price-section h2 button > span:first-child { hyphens:auto; overflow-wrap:normal; } }
.price-section { scroll-margin-top:24px; }@media (max-width:720px) { .price-section { scroll-margin-top:96px; } }
/* -------- «Ваша поездка»: состав компании и день, цена сразу на всю компанию -------- */
.price-trip { margin-bottom:20px; padding:24px 26px; border:1px solid var(--border-soft); border-radius:20px; background:var(--surface); box-shadow:0 12px 30px rgba(18,60,82,.05); }.price-trip h2 { margin:0 0 16px; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:clamp(1.6rem,2.4vw,2rem); font-weight:400; line-height:1.1; letter-spacing:0; }.price-trip__grid { display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:20px 34px; align-items:start; }.price-trip__block { min-width:0; }.price-trip__label { display:block; margin-bottom:9px; color:var(--text-muted); font-size:1rem; }.price-trip__party { display:flex; gap:14px; }.price-stepper__label { display:block; margin-bottom:6px; color:var(--text-main); font-size:1rem; }.price-stepper__row { display:flex; align-items:center; gap:6px; }.price-stepper__row button { width:44px; height:44px; flex:0 0 auto; border:1px solid rgba(18,60,82,.2); border-radius:12px; background:#fff; color:var(--text-main); font-size:1.25rem; line-height:1; cursor:pointer; transition:border-color .16s ease,transform .16s ease; }.price-stepper__row button:hover { transform:translateY(-1px); border-color:rgba(13,104,106,.55); }.price-stepper__row input { width:62px; height:44px; padding:0 6px; border:1px solid rgba(18,60,82,.2); border-radius:12px; background:#fff; color:var(--text-main); font:inherit; font-size:1.05rem; text-align:center; -moz-appearance:textfield; }.price-stepper__row input::-webkit-outer-spin-button,.price-stepper__row input::-webkit-inner-spin-button { margin:0; -webkit-appearance:none; }.price-trip__days { display:flex; flex-wrap:wrap; gap:8px; }.price-trip__days button { min-width:52px; min-height:44px; padding:0 14px; border:1px solid rgba(18,60,82,.2); border-radius:13px; background:#fff; color:var(--text-main); font-size:1rem; cursor:pointer; transition:border-color .16s ease,background .16s ease,transform .16s ease; }.price-trip__days button:hover { transform:translateY(-1px); border-color:rgba(13,104,106,.55); }.price-trip__days button.is-active { border-color:var(--teal); background:#e3f0ec; color:var(--teal-dark); box-shadow:inset 0 0 0 1px rgba(8,125,121,.25); }.price-trip__result { min-height:1.5em; margin:16px 0 0; color:var(--teal-dark); font-size:1.05rem; line-height:1.5; }
.price-party-total { display:block; margin-top:6px; color:var(--teal-dark); font-size:1.05rem; line-height:1.4; }.price-party-total:empty { display:none; }
/* -------- отправить подборку другу -------- */
.price-share { margin-top:18px; padding-top:18px; border-top:1px solid var(--border-soft); }.price-share__button { display:flex; align-items:center; justify-content:center; width:100%; min-height:50px; padding:0 18px; border:1px solid rgba(13,104,106,.45); border-radius:13px; background:linear-gradient(145deg,#eaf5ee,#d8ece2); color:var(--teal-dark); font-size:1.05rem; cursor:pointer; transition:transform .16s ease,box-shadow .16s ease; }.price-share__button:hover { transform:translateY(-1px); box-shadow:0 10px 22px rgba(13,104,106,.16); }.price-share__status { min-height:1.4em; margin:9px 0 0; color:var(--text-muted); font-size:1rem; overflow-wrap:anywhere; }.price-modal-intro { margin:0 0 18px; padding:13px 15px; border-radius:13px; background:#eef5f0; color:var(--teal-dark); font-size:1.05rem; line-height:1.45; }
@media (max-width:960px) { .price-trip__grid { grid-template-columns:1fr; gap:18px; } }
@media (max-width:720px) { .price-trip { padding:20px; border-radius:18px; }.price-trip h2 { font-size:1.5rem; }.price-trip__days button { flex:1 1 calc(25% - 8px); min-width:0; padding:0 8px; }.price-trip__days button:first-child { flex-basis:100%; } }
/* -------- поиск по прайсу -------- */
.price-search { margin-bottom:18px; }.price-search__label { display:block; margin-bottom:8px; color:var(--text-main); font-size:1.05rem; }.price-search__row { position:relative; }.price-search__input { width:100%; min-height:54px; padding:0 54px 0 18px; border:1px solid rgba(18,60,82,.22); border-radius:15px; background:#fff; color:var(--text-main); font:inherit; font-size:1.08rem; box-shadow:0 8px 22px rgba(18,60,82,.05); -webkit-appearance:none; appearance:none; }.price-search__input::-webkit-search-cancel-button { display:none; }.price-search__input:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }.price-search__input::placeholder { color:var(--text-muted); }.price-search__clear { position:absolute; top:50%; right:6px; width:44px; height:44px; border:0; border-radius:12px; background:transparent; color:var(--text-muted); font-size:1.6rem; line-height:1; cursor:pointer; transform:translateY(-50%); }.price-search__clear:hover { color:var(--teal-dark); background:#eef5f0; }
/* -------- заявка с карточки экскурсии -------- */
.tour-quick { margin-top:26px; padding:24px 26px 22px; border:1px solid rgba(223,160,27,.32); border-radius:20px; background:var(--surface); box-shadow:0 14px 34px rgba(18,60,82,.07); }.tour-quick h3 { margin:0 0 6px; font-family:"Onest",ui-sans-serif,system-ui,sans-serif; font-size:1.55rem; font-weight:400; line-height:1.15; letter-spacing:0; }.tour-quick > p { margin:0 0 18px; color:var(--text-muted); font-size:1.02rem; line-height:1.55; }.tour-quick-form { display:grid; gap:14px; }.tour-quick-form label { display:grid; gap:7px; color:var(--text-main); font-size:1rem; }.tour-quick-form input { width:100%; min-height:50px; padding:0 14px; border:1px solid rgba(18,60,82,.2); border-radius:12px; background:#fff; color:var(--text-main); font:inherit; }.tour-quick-form input:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }.tour-quick-form__row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.tour-quick-form button[type="submit"] { min-height:52px; border:1px solid rgba(223,160,27,.5); border-radius:13px; background:linear-gradient(135deg,#11191e,#2f3b40); color:#fffaf0; font-size:1.05rem; font-weight:400; cursor:pointer; }.tour-quick-form button[type="submit"]:disabled { opacity:.45; cursor:not-allowed; }.tour-quick-status { min-height:1.4em; margin:0; color:var(--teal-dark); font-size:1rem; line-height:1.5; }.tour-quick-status a { color:var(--teal-dark); }.tour-quick-done { display:grid; gap:12px; }.tour-quick-done h3 { margin:0; }.tour-quick-done p { margin:0; color:var(--text-muted); line-height:1.55; }.tour-quick-done a { display:flex; align-items:center; justify-content:center; min-height:52px; border:1px solid rgba(223,160,27,.5); border-radius:13px; background:linear-gradient(135deg,#11191e,#2f3b40); color:#fffaf0; font-size:1.05rem; text-decoration:none; }
.tour-quick-status button { min-height:44px; margin:6px 2px; padding:8px 12px; border:1px solid rgba(13,104,106,.34); border-radius:10px; background:#fff; color:var(--teal-dark); font:inherit; cursor:pointer; }
@media (max-width:720px) { .tour-quick { padding:20px 18px 18px; border-radius:18px; }.tour-quick-form__row { grid-template-columns:1fr; } }
@media (max-width:440px) { .tour-quick .price-order-contact__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* -------- частная яхта: короткий путь от выбора к готовому сообщению -------- */
.yacht-page { background:#fbf8f0; }
.yacht-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr); align-items:center; gap:clamp(32px,5vw,72px); padding-top:30px; padding-bottom:52px; }
.yacht-hero--text { grid-template-columns:minmax(0,880px); }
.yacht-hero__copy { min-width:0; }
.yacht-hero h1 { max-width:780px; margin:0; font-size:clamp(2.8rem,5vw,5.4rem); line-height:1.01; }
.yacht-hero__lead { max-width:620px; margin:22px 0 0; color:var(--text-main); font-size:clamp(1.3rem,2vw,1.72rem); line-height:1.35; }
.yacht-hero__facts { max-width:660px; margin:20px 0 0; color:var(--teal-dark); font-size:1.12rem; line-height:1.55; }
.yacht-price-explainer { max-width:660px; margin:12px 0 0; color:var(--text-main); font-size:1.18rem; line-height:1.45; }
.yacht-primary-action { display:inline-flex; align-items:center; justify-content:center; min-height:56px; margin-top:24px; padding:0 24px; border:1px solid rgba(13,104,106,.48); border-radius:16px; background:#e5f1ec; color:var(--teal-dark); font-size:1.12rem; text-decoration:none; box-shadow:0 12px 28px rgba(18,60,82,.1); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.yacht-primary-action:hover { transform:translateY(-2px); border-color:var(--teal); box-shadow:0 17px 32px rgba(18,60,82,.14); }
.yacht-hero__media { min-width:0; margin:0; overflow:hidden; border-radius:28px; background:#e7efe9; box-shadow:0 28px 70px rgba(18,60,82,.16); }
.yacht-hero__media picture,.yacht-hero__media img { display:block; width:100%; }
.yacht-hero__media img { aspect-ratio:16/9; height:auto; object-fit:cover; }
.yacht-hero .yacht-contact-links { width:min(100%,600px); margin-top:16px; }
.yacht-hero .tour-contact-card { min-height:68px; border-radius:18px; }
.yacht-hero .tour-contact-card__icon { width:44px; height:44px; border-radius:14px; }
.yacht-hero .tour-contact-card__icon svg { width:27px; height:27px; }
.yacht-quiz-section { padding:50px 0 54px; border-block:1px solid rgba(18,60,82,.1); background:#eef4ee; }
.yacht-quiz-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:24px; }
.yacht-quiz-heading h2 { margin:0; font-size:clamp(2.2rem,4vw,3.8rem); line-height:1.04; }
.yacht-quiz-heading p { max-width:460px; margin:0; color:var(--text-muted); font-size:1.08rem; }
.yacht-quiz { display:grid; grid-template-columns:minmax(180px,.72fr) minmax(180px,.72fr) minmax(0,1.45fr); gap:20px; padding:26px; border:1px solid rgba(18,60,82,.12); border-radius:24px; background:rgba(255,255,255,.72); box-shadow:0 18px 50px rgba(18,60,82,.08); }
.yacht-field { display:grid; align-content:start; gap:9px; min-width:0; color:var(--text-main); font-size:1.05rem; }
.yacht-field input,.yacht-field select { width:100%; min-height:52px; padding:0 14px; border:1px solid rgba(18,60,82,.22); border-radius:13px; background:#fff; color:var(--text-main); font-size:1rem; }
.yacht-field input:focus-visible,.yacht-field select:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
.yacht-stepper { display:grid; grid-template-columns:52px minmax(64px,1fr) 52px; gap:7px; }
.yacht-stepper button { min-height:52px; border:1px solid rgba(18,60,82,.22); border-radius:13px; background:#fff; color:var(--teal-dark); font-size:1.45rem; }
.yacht-stepper input { padding:0 4px; text-align:center; -moz-appearance:textfield; }
.yacht-stepper input::-webkit-inner-spin-button,.yacht-stepper input::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
.yacht-choice { grid-column:1/-1; min-width:0; margin:0; padding:0; border:0; }
.yacht-choice legend { margin-bottom:9px; padding:0; color:var(--text-main); font-size:1.05rem; }
.yacht-choice > div { display:flex; flex-wrap:wrap; gap:9px; }
.yacht-choice label { position:relative; display:block; cursor:pointer; }
.yacht-choice input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.yacht-choice span { display:flex; align-items:center; justify-content:center; min-height:48px; padding:9px 16px; border:1px solid rgba(18,60,82,.18); border-radius:14px; background:#fff; color:var(--text-main); font-size:1rem; line-height:1.25; transition:border-color .16s ease,background .16s ease,transform .16s ease; }
.yacht-choice label:hover span { transform:translateY(-1px); border-color:rgba(13,104,106,.48); }
.yacht-choice input:checked + span { border-color:var(--teal); background:#dceee7; color:var(--teal-dark); box-shadow:inset 0 0 0 1px rgba(8,125,121,.18); }
.yacht-choice input:focus-visible + span { outline:3px solid var(--gold); outline-offset:2px; }
.yacht-quiz__submit { grid-column:1/-1; min-height:56px; border:1px solid rgba(13,104,106,.52); border-radius:15px; background:#dfeee7; color:var(--teal-dark); font-size:1.08rem; box-shadow:0 10px 24px rgba(18,60,82,.08); }
.yacht-quiz__status { grid-column:1/-1; min-height:1.5em; margin:0; color:#8c3d24; font-size:1rem; }
.yacht-quiz__result { grid-column:1/-1; padding-top:20px; border-top:1px solid var(--border-soft); }
.yacht-quiz__result > p { margin:0; color:var(--text-main); font-size:1.05rem; line-height:1.6; white-space:pre-line; }
.yacht-quiz__result .yacht-contact-links { margin-top:18px; }
.yacht-section-nav { position:sticky; top:0; }
.yacht-private > p { max-width:850px; margin:0; color:var(--text-muted); font-size:1.16rem; line-height:1.65; }
.yacht-private__points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; max-width:900px; margin:24px 0 0; padding:0; list-style:none; }
.yacht-private__points li { padding:18px 20px; border:1px solid var(--border-soft); border-radius:17px; background:var(--surface); color:var(--teal-dark); font-size:1.08rem; }
.yacht-scenarios { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.yacht-scenarios article { display:flex; flex-direction:column; min-height:250px; padding:26px; border:1px solid var(--border-soft); border-radius:22px; background:var(--surface); box-shadow:0 13px 34px rgba(18,60,82,.055); }
.yacht-scenarios h3 { margin:0; color:var(--teal-dark); font-size:1.5rem; line-height:1.2; }
.yacht-scenarios p { margin:14px 0 24px; color:var(--text-muted); font-size:1.05rem; line-height:1.55; }
.yacht-scenarios button { width:100%; min-height:50px; margin-top:auto; border:1px solid rgba(13,104,106,.38); border-radius:14px; background:#e9f3ee; color:var(--teal-dark); font-size:1rem; }
.yacht-price__lead { margin:0 0 20px; color:var(--teal-dark); font-size:1.22rem; }
.yacht-price .tour-price-list li { padding:22px; border-radius:18px; background:#fff; }
.yacht-price .tour-price-list span:last-child { color:var(--teal-dark); font-size:1.28rem; }
.yacht-price__details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:1000px; margin-top:22px; }
.yacht-price__details > div { padding:24px; border:1px solid var(--border-soft); border-radius:19px; background:var(--surface); }
.yacht-price__details h3 { margin:0 0 12px; color:var(--text-main); font-size:1.42rem; }
.yacht-price__details p,.yacht-price__details ul { margin:0; color:var(--text-muted); font-size:1.04rem; line-height:1.6; }
.yacht-price__details ul { padding-left:22px; }
.yacht-price .tour-detail-actions { margin-top:24px; }
.yacht-page .tour-quick-form button[type="submit"],.yacht-page .tour-detail-button--cart { border-color:rgba(13,104,106,.46); background:#e1efe8; color:var(--teal-dark); }
.yacht-destinations { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:22px 0 0; padding:0; list-style:none; }
.yacht-destinations li { min-height:72px; padding:20px; border:1px solid var(--border-soft); border-radius:17px; background:var(--surface); color:var(--teal-dark); font-size:1.12rem; }
.yacht-timeline__note { max-width:780px; margin:14px 0 0; color:var(--text-muted); font-size:1.05rem; line-height:1.6; }
.yacht-final { padding-top:48px!important; padding-bottom:54px!important; border-top:1px solid var(--border-soft); }
.yacht-sticky-cta { display:none; }
.tour-sales-page .tour-detail-price-lead { margin-top:18px; }
.tour-sales-page .tour-date-hint { display:block; color:var(--text-muted); font-size:1rem; line-height:1.45; }
.tour-sales-page .tour-picker .tour-date-hint { max-width:34ch; }
.tour-sales-page .tour-price-context--request { padding:22px; border:1px solid var(--border-soft); border-radius:18px; background:#fff; }
.tour-sales-page .tour-price-context--request p { margin:0; color:var(--text-main); font-size:1.08rem; line-height:1.55; }
.tour-sales-page .tour-detail-overview { gap:18px; }
.tour-day-groups { display:grid; gap:22px; max-width:1040px; }
.tour-day-groups > section { padding:24px; border:1px solid var(--border-soft); border-radius:20px; background:var(--surface); }
.tour-day-groups h3 { margin:0 0 12px; color:var(--teal-dark); font-size:1.55rem; }
.tour-day-groups .tour-detail-timeline li::before { box-shadow:0 0 0 5px var(--surface); }
.tour-picker .yacht-field input[type="number"] { -moz-appearance:textfield; }
.tour-picker .yacht-field input[type="number"]::-webkit-inner-spin-button,.tour-picker .yacht-field input[type="number"]::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
@media (max-width:1020px) {
  .yacht-hero { grid-template-columns:1fr; }
  .yacht-hero__copy { max-width:820px; }
  .yacht-hero__media { width:100%; }
  .yacht-quiz { grid-template-columns:1fr 1fr; }
  .yacht-choice { grid-column:1/-1; }
  .yacht-destinations { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yacht-hero--text { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .yacht-page { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .yacht-hero { gap:26px; padding-top:18px; padding-bottom:36px; }
  .yacht-hero h1 { font-size:clamp(2.45rem,11vw,3.65rem); }
  .yacht-hero__lead { margin-top:17px; font-size:1.3rem; }
  .yacht-hero__facts { margin-top:16px; font-size:1.04rem; }
  .yacht-price-explainer { font-size:1.08rem; }
  .yacht-primary-action { width:100%; margin-top:20px; }
  .yacht-hero__media { border-radius:20px; box-shadow:0 18px 44px rgba(18,60,82,.14); }
  .yacht-hero .yacht-contact-links { grid-template-columns:1fr 1fr; gap:10px; }
  .yacht-hero .tour-contact-card { display:flex; justify-content:center; min-height:56px; padding:8px 10px; }
  .yacht-hero .tour-contact-card__icon { width:36px; height:36px; }
  .yacht-hero .tour-contact-card__icon svg { width:23px; height:23px; }
  .yacht-hero .tour-contact-card__hint { display:none; }
  .yacht-quiz-section { padding:36px 0 40px; }
  .yacht-quiz-heading { display:block; margin-bottom:18px; }
  .yacht-quiz-heading h2 { font-size:2.25rem; }
  .yacht-quiz-heading p { margin-top:10px; }
  .yacht-quiz { grid-template-columns:1fr; gap:18px; padding:20px; border-radius:19px; }
  .yacht-choice,.yacht-quiz__submit,.yacht-quiz__status,.yacht-quiz__result { grid-column:1; }
  .yacht-choice > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .yacht-choice label:last-child { grid-column:1/-1; }
  .yacht-choice span { justify-content:flex-start; min-height:50px; }
  .yacht-section-nav { top:0; }
  .yacht-private__points,.yacht-scenarios,.yacht-price__details,.yacht-destinations { grid-template-columns:1fr; }
  .yacht-scenarios { gap:12px; }
  .yacht-scenarios article { min-height:0; padding:21px; border-radius:18px; }
  .yacht-destinations li { min-height:0; }
  .tour-day-groups { gap:14px; }
  .tour-day-groups > section { padding:20px; border-radius:17px; }
  .yacht-sticky-cta { position:fixed; z-index:90; bottom:max(10px,env(safe-area-inset-bottom)); left:50%; width:min(calc(100% - 48px),320px); align-items:center; justify-content:center; min-height:48px; border:1px solid rgba(13,104,106,.52); border-radius:15px; background:rgba(226,241,234,.96); color:var(--teal-dark); font-size:1rem; text-decoration:none; box-shadow:0 13px 34px rgba(18,60,82,.2),inset 0 1px 0 #fff; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); transform:translateX(-50%); }
  .yacht-sticky-cta.is-visible { display:flex; }
}
@media (prefers-reduced-motion:reduce) {
  .yacht-primary-action,.yacht-choice span,.yacht-scenarios button,.yacht-sticky-cta { scroll-behavior:auto; transition:none; }
}

/* Каталог поездок: спокойные рисунки вместо неподтверждённых фотографий. */
.tour-start { padding-block: 32px; }
.tour-start > p { max-width: 72ch; }
.tour-start-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px 28px; margin-top: 28px; }
.tour-start-card { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.tour-start-card h3 { font-size: clamp(24px,2vw,30px); line-height: 1.25; margin: 0; }
.tour-start-card p { margin: 0; line-height: 1.5; font-size: 18px; }
.tour-start-card a { margin-top: auto; padding-block: 12px; font-size: 18px; text-underline-offset: 5px; }
.tour-editorial-art { width: 100%; aspect-ratio: 16/10; height: auto; background: #f0f6f3; color: #244c40; border-radius: 20px; }
.tour-start-card:nth-child(2n) .tour-editorial-art { background: #f0f5f9; color: #31536b; }
.tour-start-card:nth-child(3n) .tour-editorial-art { background: #faf5ed; color: #795b35; }
.tour-start-links { display: flex; flex-wrap: wrap; gap: 20px 32px; margin-top: 32px; }
.price-intro h1 { font-size: clamp(32px,4.5vw,60px); max-width: 22ch; }
.price-intro .price-search { margin-block: 24px; }
.tour-detail-timeline li > span:empty { display: none; }
.tour-detail-page [hidden] { display: none !important; }
.tour-detail-page .tour-detail-actions button,.tour-detail-page input,.tour-detail-page select { font-size: 18px; }
.tour-detail-page .tour-detail-price-lead { overflow-wrap: anywhere; }
@media(max-width:1000px) { .tour-start-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .tour-start-grid { grid-template-columns:1fr; gap:32px; } .tour-start { padding-block:24px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media(prefers-reduced-transparency:reduce) { .yacht-sticky-cta,.tour-booking-link { backdrop-filter:none; background:#fff; } }

.catalog-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-block:24px; }
.catalog-controls label { display:grid; gap:8px; font-size:18px; }
.catalog-controls select { width:100%; min-height:48px; padding:10px; font:inherit; color:#171b19; background:#fff; border:1px solid #cdd6d1; border-radius:10px; }
@media(max-width:720px) { .catalog-controls { grid-template-columns:1fr; } }
