/* Rent a Yacht Phuket — styles for generated pages */

.ryp-main{
  --deep:#0E3B43; --deep2:#1A5159; --ink:#122A2F; --body:#48605F;
  --limestone:#F6F7F4; --mist:#E3E9E6; --seaglass:#A9D2CA; --sand:#C9B48A;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",system-ui,-apple-system,sans-serif;
  font-family:var(--sans);color:var(--ink);background:var(--limestone);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
.ryp-main *{box-sizing:border-box}
.ryp-main img{max-width:100%;height:auto;display:block}
.ryp-main a{color:inherit;text-decoration:none}
.ryp-main :focus-visible{outline:2px solid var(--sand);outline-offset:3px}
.ryp-main p{margin:0 0 1em}
.ryp-main p:last-child{margin-bottom:0}
.ryp-main h1,.ryp-main h2,.ryp-main h3{
  font-family:var(--serif);font-weight:400;line-height:1.1;
  letter-spacing:-.01em;margin:0 0 16px;color:inherit;
}
.ryp-main h2{font-size:clamp(2rem,3.8vw,3rem)}
.ryp-main .ryp-h3{font-size:1.6rem;margin-top:36px}
.ryp-main ul,.ryp-main ol{margin:0;padding:0;list-style:none}
.ryp-main section{padding:88px 0}
.ryp-wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.ryp-narrow{max-width:820px}

.ryp-main .btn{
  display:inline-block;padding:14px 30px;border-radius:40px;
  font-weight:500;font-size:.95rem;transition:background .2s,color .2s;
}
.ryp-main .btn-light{background:#fff;color:var(--deep)}
.ryp-main .btn-light:hover{background:var(--seaglass)}
.ryp-main .btn-line{border:1px solid rgba(255,255,255,.55);color:#fff}
.ryp-main .btn-line:hover{background:rgba(255,255,255,.12)}
.ryp-main .btn-deep{background:var(--deep);color:#fff}
.ryp-main .btn-deep:hover{background:var(--deep2)}
.ryp-main .ryp-block{display:block;text-align:center}

/* page hero — shorter than the homepage hero */
.ryp-phero{position:relative;min-height:58vh;display:flex;align-items:flex-end;padding:0 0 60px!important;color:#fff;overflow:hidden}
.ryp-phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ryp-phero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,32,37,.82),rgba(8,32,37,.1) 65%)}
.ryp-phero-in{position:relative;z-index:2;width:100%}
.ryp-main .ryp-phero h1{font-size:clamp(2.6rem,6.5vw,5rem);max-width:14ch;margin:0}
.ryp-phero-sub{max-width:48ch;margin-top:16px!important;font-size:1.05rem;opacity:.9}
.ryp-crumb{font-size:.85rem;opacity:.75;margin-bottom:14px!important}
.ryp-crumb a:hover{opacity:1;text-decoration:underline}

/* spec bar */
.ryp-specbar{background:var(--deep);color:#fff;padding:34px 0}
.ryp-specbar .ryp-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:22px}
.ryp-specbar strong{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:400}
.ryp-specbar small{opacity:.72;font-size:.85rem}

/* two column body */
.ryp-split{display:grid;grid-template-columns:1.6fr 1fr;gap:64px;align-items:start}
.ryp-split p{color:var(--body)}
.ryp-big{font-size:1.12rem;color:var(--body)}

/* price card */
.ryp-pricecard{background:#fff;padding:34px;position:sticky;top:100px}
.ryp-kicker{font-family:var(--serif);font-style:italic;color:var(--sand);margin-bottom:2px!important}
.ryp-bigprice{font-family:var(--serif);font-size:2.1rem;line-height:1.15;margin-bottom:6px!important}
.ryp-pricecard .ryp-note{font-size:.88rem;color:#7A8F8E;margin-bottom:18px!important}
.ryp-durations{margin-bottom:22px!important}
.ryp-durations li{padding:9px 0;border-bottom:1px solid var(--mist);font-size:.92rem;color:var(--body)}
.ryp-fine{font-size:.8rem;color:#7A8F8E;margin-top:14px!important;text-align:center}

/* tick lists */
.ryp-ticks li{padding:11px 0 11px 26px;position:relative;border-bottom:1px solid var(--mist);font-size:.96rem;color:var(--body)}
.ryp-ticks li::before{content:"";position:absolute;left:2px;top:19px;width:9px;height:9px;border:1px solid var(--deep);border-radius:50%}
.ryp-two{columns:2;column-gap:40px}
.ryp-two li{break-inside:avoid}

/* gallery */
.ryp-galsec{background:#fff}
.ryp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.ryp-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}
.ryp-gallery img:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;height:100%}

/* chips */
.ryp-chiprow{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ryp-chip{border:1px solid var(--mist);background:#fff;border-radius:40px;padding:10px 22px;font-size:.92rem;color:var(--body);transition:border-color .2s,color .2s}
a.ryp-chip:hover{border-color:var(--deep);color:var(--deep)}

/* timeline — used only where the content really is a sequence */
.ryp-routes{background:#fff}
.ryp-timeline{margin-top:36px!important;border-left:1px solid var(--mist);padding-left:30px!important}
.ryp-timeline li{position:relative;padding-bottom:32px}
.ryp-timeline li:last-child{padding-bottom:0}
.ryp-timeline li::before{content:"";position:absolute;left:-35px;top:9px;width:9px;height:9px;background:var(--deep);border-radius:50%}
.ryp-main .ryp-timeline h3{font-size:1.4rem;margin-bottom:4px}
.ryp-timeline p{color:var(--body);margin:0}

/* included */
.ryp-included{background:var(--mist)}

/* faq */
.ryp-faq{background:#fff}
.ryp-faq details{border-bottom:1px solid var(--mist);padding:22px 0}
.ryp-faq summary{cursor:pointer;font-family:var(--serif);font-size:1.4rem;line-height:1.25;list-style:none;display:flex;justify-content:space-between;gap:20px}
.ryp-faq summary::-webkit-details-marker{display:none}
.ryp-faq summary::after{content:"+";font-family:var(--sans);font-weight:300;transition:transform .2s}
.ryp-faq details[open] summary::after{transform:rotate(45deg)}
.ryp-faq details p{margin-top:12px;color:var(--body);max-width:66ch}

/* final cta */
.ryp-final{background:var(--deep);color:#fff;text-align:center}
.ryp-main .ryp-final h2{font-size:clamp(2.2rem,5vw,3.8rem);max-width:16ch;margin:0 auto 16px}
.ryp-final>.ryp-wrap>p{opacity:.82;margin-bottom:30px}
.ryp-cta-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}

@media (max-width:980px){
  .ryp-main section{padding:64px 0}
  .ryp-split{grid-template-columns:1fr;gap:40px}
  .ryp-pricecard{position:static}
  .ryp-gallery{grid-template-columns:1fr 1fr}
  .ryp-gallery img:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/9}
}
@media (max-width:620px){
  .ryp-main{font-size:16px}
  .ryp-phero{min-height:48vh}
  .ryp-two{columns:1}
  .ryp-gallery{grid-template-columns:1fr}
  .ryp-gallery img:first-child{grid-column:auto;aspect-ratio:4/3}
  .ryp-cta-row .btn{width:100%;text-align:center}
  .ryp-pricecard{padding:26px}
}
@media (prefers-reduced-motion:reduce){
  .ryp-main *{animation:none!important;transition:none!important}
}

/* text pages (privacy, terms, cancellations) */
.ryp-texthead{padding:70px 0 0!important;background:var(--mist)}
.ryp-texthead h1{font-size:clamp(2.4rem,5vw,3.6rem)}
.ryp-texthead .ryp-phero-sub{color:var(--body);margin-top:12px!important;max-width:52ch}
.ryp-textpage section p{color:var(--body);max-width:70ch}
.ryp-textpage .ryp-bullet{padding-left:20px;position:relative;margin-bottom:.6em}
.ryp-textpage .ryp-bullet::before{content:"";position:absolute;left:2px;top:12px;width:6px;height:6px;border-radius:50%;background:var(--deep)}
.ryp-contact-line{font-size:.95rem;color:var(--body);margin-bottom:8px!important}
.ryp-contact-line a{color:var(--deep);border-bottom:1px solid var(--mist)}
.ryp-contact-line a:hover{border-bottom-color:var(--deep)}
.ryp-pricecard .ryp-contact-line:last-of-type{margin-bottom:22px!important}
.ryp-main .ryp-inc-title{font-size:1.35rem;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid rgba(14,59,67,.22)}
.ryp-inc-head{margin-bottom:44px;max-width:60ch}
.ryp-inc-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:start}
.ryp-inc-list{columns:2;column-gap:36px}
.ryp-inc-list li{padding:11px 0 11px 24px;position:relative;border-bottom:1px solid rgba(14,59,67,.14);break-inside:avoid;font-size:.95rem;color:var(--body)}
.ryp-inc-list li::before{content:"";position:absolute;left:2px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--deep)}
.ryp-inc-out{columns:1}
.ryp-inc-out li{color:#7A8F8E}
.ryp-inc-out li::before{background:none;border:1px solid #A9B5B4}
.ryp-inc-cta{margin-top:30px}
.ryp-inc-cta p{font-size:.92rem;color:var(--body);margin-bottom:14px!important}
.ryp-main .btn-outline{border:1px solid var(--deep);color:var(--deep);background:transparent}
.ryp-main .btn-outline:hover{background:var(--deep);color:#fff}
.ryp-yacht-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.ryp-yacht-actions .btn{padding:11px 22px;font-size:.88rem}
.ryp-fleet{display:grid;grid-template-columns:repeat(3,1fr);gap:54px 32px}
.ryp-yacht img{aspect-ratio:4/3;object-fit:cover;margin-bottom:18px}
.ryp-main .ryp-yacht h3{font-size:1.8rem;margin-bottom:6px;transition:color .2s}
.ryp-yacht-link:hover h3{color:var(--deep2)}
.ryp-spec{font-size:.88rem;color:var(--deep);margin-bottom:10px!important}
.ryp-desc{color:var(--body);font-size:.95rem;margin-bottom:12px!important}
@media (max-width:980px){
  .ryp-inc-cols{grid-template-columns:1fr;gap:38px}
  .ryp-fleet{grid-template-columns:1fr 1fr;gap:42px 26px}
}
@media (max-width:620px){
  .ryp-fleet{grid-template-columns:1fr}
  .ryp-inc-list{columns:1}
}

/* ---------------------------------------------------------
   Mobile refinements (v2.0.1)
   Tightens the spec bar and hero on phones so the charter
   rate sits higher up the page.
   --------------------------------------------------------- */
@media (max-width:620px){
  .ryp-specbar{padding:26px 0}
  .ryp-specbar .ryp-wrap{grid-template-columns:1fr 1fr;gap:18px 16px}
  .ryp-specbar strong{font-size:1.15rem}
  .ryp-specbar small{font-size:.78rem}

  .ryp-phero{min-height:52svh;padding-bottom:34px!important}
  .ryp-main .ryp-phero h1{font-size:clamp(2.2rem,9vw,3rem)}
  .ryp-phero-sub{font-size:.98rem;margin-top:10px!important}
  .ryp-crumb{font-size:.8rem;margin-bottom:10px!important}

  /* price card should never stick on a phone */
  .ryp-pricecard{position:static!important}

  /* gallery and timeline breathing room */
  .ryp-gallery{gap:10px}
  .ryp-timeline{padding-left:24px!important}
  .ryp-timeline li::before{left:-29px}
}
