/* Shop and attraction details: approved photo-led island journey design, existing data/actions retained. */
body:is(.single-shop,.single-attractions){background:#fff;color:#142b38;--ink:#142b38;--teal:#238e9a;--light:#eff7f6;--line:#e1ebed}
body:is(.single-shop,.single-attractions) .header{position:relative;background:#fff;box-shadow:none}
.journey-detail{background:#fff;overflow-wrap:anywhere}
.journey-detail .breadcrumbs{padding:20px 0;font-size:13px;color:#60747c;line-height:1.7}
.journey-detail .spot-hero{height:clamp(340px,40vw,570px);max-width:none;margin:0;padding:0;background:#edf5f4;overflow:hidden}
.journey-detail .spot-hero img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.journey-detail .spot-hero>span{font-size:12px;border-radius:999px;background:#102c3f70;bottom:20px}
.journey-detail .detail-layout{max-width:1320px;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding-top:45px;padding-bottom:30px}
.journey-detail .detail-layout article>.eyebrow{font-size:14px;font-weight:800;color:#238e9a;letter-spacing:.05em;margin:0 0 12px}
.journey-detail .detail-layout h1{font-size:clamp(32px,3.2vw,48px);font-weight:900;line-height:1.5;letter-spacing:-.035em;margin:0 0 22px}
.journey-detail .spot-quick-actions{gap:12px;margin:24px 0}
.journey-detail .spot-quick-actions>*{border:0;border-radius:999px;background:#e8f3fb;color:#286b9e;min-height:56px;font-size:17px;font-weight:800;box-shadow:none;transition:transform .2s,box-shadow .2s}
.journey-detail .spot-quick-actions>a[href^="tel:"]{background:#eaf5e8;color:#41783b}
.journey-detail .spot-quick-actions>button{background:#fdecee;color:#b33c49}
.journey-detail button[data-save][aria-pressed="true"]{background:#b33c49;color:white}
.journey-detail .spot-section-links{gap:10px;border-bottom:1px solid #e1ebed;padding:12px 0 26px;margin-bottom:30px}
.journey-detail .spot-section-links a{background:#f0f7f6;color:#357781;border:0;border-radius:999px;padding:10px 18px;font-size:14px;min-height:44px}
.journey-detail .detail-lead,.journey-detail .block-content{font-size:18px;line-height:2;color:#304854}
.journey-detail .block-content img{max-width:100%;height:auto;border-radius:10px}
.journey-detail .spot-gallery{gap:16px;margin:30px 0}
.journey-detail .spot-gallery img{width:100%;object-fit:cover;border-radius:10px;transition:transform .25s}
.journey-detail .prototype-banner{background:#f6f9fa;color:#526a74;border-left:3px solid #82bbc1;border-radius:0 10px 10px 0;font-size:14px;line-height:1.9;padding:16px 20px}
.journey-detail .info-section{padding-top:42px}
.journey-detail .info-section h2{font-size:28px;line-height:1.6;margin-bottom:20px;font-weight:800}
.journey-detail .info-table{background:#f4f9f9;border:0;border-radius:16px;padding:8px 24px}
.journey-detail .info-table>div{grid-template-columns:120px minmax(0,1fr);gap:24px;padding:20px 0;font-size:16px;border-bottom:1px solid #dfecee;line-height:1.9}
.journey-detail .info-table>div:last-child{border-bottom:0}
.journey-detail .info-table dt{color:#244e5a;font-weight:800}
.journey-detail .info-table dd{color:#435d68}
.journey-detail .trip-panel{position:sticky;top:24px;align-self:start;background:#edf7f6;border:0;border-radius:20px;box-shadow:none;padding:28px}
.journey-detail .trip-panel .eyebrow{font-size:11px;letter-spacing:.12em;color:#238e9a;font-weight:800}
.journey-detail .trip-panel h2{font-size:25px;font-weight:800;line-height:1.6}
.journey-detail .trip-panel p:not(.eyebrow){font-size:15px;line-height:1.9}
.journey-detail .trip-panel .primary-button{background:#fdecee;color:#b33c49;border:0;border-radius:999px;font-size:17px;min-height:52px}
.journey-detail .trip-panel .outline-button{border:0;background:white;color:#41783b;border-radius:999px;font-size:15px;line-height:1.7}
.journey-detail .trip-panel .text-button{font-size:14px;color:#357781}
.journey-detail #wp-map{border-radius:14px;overflow:hidden;z-index:0}
.journey-detail .community-panel,.journey-detail .community-experiences{margin-top:35px;background:#f0f7f6;border:1px solid #dbeceb;border-radius:16px;padding:26px}
.journey-detail .community-panel h2,.journey-detail .community-experiences h2{font-size:26px;line-height:1.6}
.journey-detail .community-panel .primary-button,.journey-detail .community-panel .outline-button,.journey-detail .community-experiences .primary-button{border:0;border-radius:999px;background:#fff0e2;color:#a85b22;font-size:16px;font-weight:800;white-space:normal}
.journey-detail .spot-card{background:#fff;border:0;border-radius:0;box-shadow:none;padding:0;overflow:visible}
.journey-detail .spot-card .spot-image{border-radius:10px;overflow:hidden}
.journey-detail .spot-card :is(.spot-meta,h3,p){margin-left:0;margin-right:0}
.journey-detail .spot-card h3{font-size:20px;line-height:1.6}
.journey-detail .spot-card .spot-meta{font-size:13px;color:#238e9a}
.journey-detail>.section:last-child .primary-button{border-radius:999px;background:#e8f3fb;color:#286b9e}
.journey-detail :is(a,button):focus-visible{outline:3px solid #009caf;outline-offset:4px}
@media(hover:hover){.journey-detail .spot-quick-actions>*:hover,.journey-detail .trip-panel button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #143b411c}.journey-detail .spot-gallery a:hover img{transform:scale(1.025)}}
@media(max-width:900px){.journey-detail .detail-layout{grid-template-columns:1fr;gap:30px}.journey-detail .trip-panel{position:static}.journey-detail .spot-hero{height:400px;aspect-ratio:auto}}
@media(max-width:600px){.journey-detail .breadcrumbs{font-size:12px;padding:16px 0}.journey-detail .spot-hero{height:290px;aspect-ratio:auto}.journey-detail .detail-layout{padding-top:28px}.journey-detail .detail-layout h1{font-size:30px;margin-bottom:20px}.journey-detail .detail-layout article>.eyebrow{font-size:12px}.journey-detail .spot-quick-actions{gap:8px}.journey-detail .spot-quick-actions>*{font-size:15px;padding:12px 8px;min-height:52px}.journey-detail .spot-section-links a{font-size:13px;padding:10px 13px}.journey-detail .detail-lead,.journey-detail .block-content{font-size:16px}.journey-detail .info-table{padding:5px 18px}.journey-detail .info-table>div{grid-template-columns:85px minmax(0,1fr);gap:14px;font-size:15px;padding:16px 0}.journey-detail .info-table dt{font-size:14px}.journey-detail .info-section h2{font-size:25px}.journey-detail .trip-panel{padding:24px}.journey-detail .community-panel,.journey-detail .community-experiences{padding:22px 18px}.journey-detail .community-panel h2,.journey-detail .community-experiences h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.journey-detail :is(a,button,img){transition:none!important}.journey-detail :is(a,button,img):hover{transform:none!important}}

/* Direct contacts and confirmed payment information. */
.spot-contact>p{font-size:16px;line-height:1.9;color:#435d68}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.contact-actions a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border-radius:999px;font-size:16px;font-weight:800;text-decoration:none;line-height:1.6;background:#e8f3fb;color:#286b9e;transition:transform .2s,box-shadow .2s}
.contact-actions .contact-phone{background:#eaf5e8;color:#41783b}
.contact-actions .contact-booking{background:#238e9a;color:#fff}
.contact-notice{border-left:4px solid #bf7d24;background:#fff5e6;border-radius:0 12px 12px 0;padding:18px 20px;font-size:16px;line-height:1.8}
.contact-notice p{margin:8px 0 0}
.payment-methods{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.payment-methods li{padding:5px 12px;border-radius:999px;background:#e0f0ec;color:#25685b;font-size:14px;font-weight:700;line-height:1.8}
.payment-note{margin:10px 0 0;font-size:15px;line-height:1.9}
@media(hover:hover){.contact-actions a:hover{transform:translateY(-2px);box-shadow:0 6px 18px #143b411c}}
@media(max-width:600px){.contact-actions{display:grid;grid-template-columns:1fr;gap:10px}.contact-actions a{width:100%;font-size:16px}.journey-detail .info-table>div:has(.spot-payment){grid-template-columns:1fr;gap:8px}.contact-notice{padding:16px}.payment-methods li{font-size:14px}}
@media(prefers-reduced-motion:reduce){.contact-actions a{transition:none}.contact-actions a:hover{transform:none}}

.spot-detail #spot-contact{scroll-margin-top:100px}
@media(max-width:600px){.journey-detail .spot-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.journey-detail .spot-quick-actions>*{min-height:54px}}
