/*
Theme Name: Kalandra fel! – Családi napló
Theme URI: https://lakatosfodor.hu/
Author: Lakatos–Fodor család
Description: A Kalandra fel! családi útinapló egyedi WordPress-sablonja.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: kalandra-fel
*/

@font-face {
  font-family:'Cormorant Garamond'; font-style:normal; font-weight:500 700; font-display:swap;
  src:url('assets/fonts/cormorant-garamond-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Cormorant Garamond'; font-style:normal; font-weight:500 700; font-display:swap;
  src:url('assets/fonts/cormorant-garamond-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'Manrope'; font-style:normal; font-weight:200 800; font-display:swap;
  src:url('assets/fonts/manrope-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family:'Manrope'; font-style:normal; font-weight:200 800; font-display:swap;
  src:url('assets/fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
:root { --font-display:'Cormorant Garamond'; --font-sans:'Manrope'; }
button { font:inherit; }
.photo-lightbox[hidden] { display:none; }

:root { --ink:#173c35; --forest:#1d4e43; --cream:#f8f3e8; --paper:#fffdf8; --coral:#e97957; --yellow:#f3c95c; --sage:#a8c9b8; --acid:#c7f15b; --night:#102b27; --line:rgba(23,60,53,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans),sans-serif; }
a { color:inherit; text-decoration:none; }

.site-header { height:84px; max-width:1240px; margin:0 auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:20; }
.brand { display:flex; align-items:center; gap:11px; font-family:var(--font-display),serif; font-size:22px; font-weight:700; }
.brand-mark { width:36px; height:36px; display:grid; place-items:center; border-radius:50% 50% 45% 55%; background:var(--coral); color:#fff; transform:rotate(-7deg); font-family:var(--font-display),serif; }
nav { display:flex; gap:30px; font-size:12px; font-weight:700; letter-spacing:.06em; }
nav a { padding:10px 2px; border-bottom:2px solid transparent; }
nav a:hover, nav a:focus-visible { border-color:var(--coral); }

.hero { min-height:calc(100vh - 84px); max-width:1440px; margin:0 auto; padding:70px max(6vw,28px) 92px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; width:560px; height:560px; border-radius:50%; background:#eef0d9; right:-100px; top:8%; z-index:-1; }
.eyebrow { margin:0 0 17px; color:var(--coral); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { font-family:var(--font-display),serif; }
h1 { margin:0; font-size:clamp(62px,7vw,110px); line-height:.81; letter-spacing:-.045em; font-weight:600; }
h1 em { color:var(--coral); font-weight:500; }
.lead { max-width:580px; margin:36px 0 0; font-size:18px; line-height:1.75; color:#48655f; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:38px; }
.button { display:inline-flex; align-items:center; gap:24px; padding:16px 22px; border-radius:3px; font-size:13px; font-weight:800; transition:transform .2s; }
.button.primary { background:var(--forest); color:#fff; box-shadow:7px 7px 0 var(--yellow); }
.button:hover { transform:translate(-2px,-2px); }
.text-link { font-size:13px; font-weight:800; border-bottom:1px solid var(--ink); padding-bottom:5px; }
.hero-art { height:550px; position:relative; }
.postcard { position:absolute; width:315px; height:390px; background:#fff; padding:14px; box-shadow:0 20px 50px rgba(31,62,54,.16); }
.postcard-one { top:45px; left:10%; transform:rotate(-7deg); }
.postcard-two { top:125px; right:5%; transform:rotate(9deg); }
.postcard-sky { height:65%; display:grid; place-items:center; font-size:65px; background:linear-gradient(#8fc8ce,#d7e7d9); }
.postcard-sky.evening { background:linear-gradient(#eaa36f,#f4d59e); color:#fff; }
.postcard-land { height:35%; display:grid; place-items:center; font-size:78px; background:#d9bf67; }
.postcard-land.hills { background:#8fb09d; }
.sun-orbit { position:absolute; width:116px; height:116px; border-radius:50%; background:var(--yellow); right:3%; top:15px; display:grid; place-items:center; font-size:30px; }
.route { position:absolute; color:var(--coral); letter-spacing:12px; font-size:27px; transform:rotate(18deg); left:0; bottom:57px; }
.stamp { position:absolute; right:12%; bottom:15px; width:95px; height:95px; border:2px dashed var(--coral); border-radius:50%; display:grid; place-content:center; text-align:center; transform:rotate(-12deg); color:var(--coral); font-size:11px; letter-spacing:.1em; }
.scroll-hint { position:absolute; bottom:24px; left:50%; width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; }

.section { padding:110px max(6vw,28px); }
.family { background:var(--cream); }
.section-heading { text-align:center; max-width:620px; margin:0 auto 55px; }
.section-heading h2,.trips-title h2 { margin:0; font-size:clamp(48px,5vw,74px); line-height:.95; }
.section-heading>p:last-child { color:#59716b; line-height:1.7; }
.family-grid { max-width:1220px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.family-card { padding:30px 24px; background:rgba(255,255,255,.72); border:1px solid rgba(23,60,53,.08); text-align:center; transition:transform .2s; }
.family-card:hover { transform:translateY(-5px); }
.avatar { width:114px; height:114px; margin:0 auto 24px; border-radius:50% 44% 47% 53%; display:grid; place-items:center; transform:rotate(-4deg); }
.avatar span { font-family:var(--font-display),serif; font-size:52px; font-weight:700; transform:rotate(4deg); }
.avatar.coral { background:#e9a087; } .avatar.sun { background:#f3d278; } .avatar.mint { background:#b6d7c5; } .avatar.blue { background:#a9cfdb; }
.role { color:var(--coral)!important; font-size:10px!important; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.family-card h3 { margin:7px 0 12px; font-size:31px; }
.family-card>p:last-child { margin:0; color:#587069; font-size:14px; line-height:1.7; }

.trips { max-width:1280px; margin:0 auto; }
.trips-title { display:flex; justify-content:space-between; align-items:end; margin-bottom:48px; }
.trip-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:28px; }
.journey-card { margin-bottom:96px; border:1px solid var(--line); background:var(--cream); box-shadow:12px 12px 0 var(--yellow); }
.journey-summary { padding:42px 44px 38px; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:end; border-bottom:1px solid var(--line); }
.journey-kicker { margin:0 0 13px; color:var(--coral); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.journey-kicker span { display:inline-block; margin-right:10px; padding:7px 9px; background:var(--forest); color:#fff; }
.journey-summary h3 { margin:0; max-width:650px; font-size:clamp(40px,4.5vw,67px); line-height:.93; }
.journey-date { margin:16px 0 0; color:var(--coral); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.journey-summary>p { margin:0; color:#536c66; font-size:15px; line-height:1.75; }
.journey-stops { list-style:none; margin:0; padding:36px 34px 42px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; counter-reset:stop; }
.journey-stop { min-width:0; position:relative; padding:27px 20px 23px; background:rgba(255,255,255,.78); border:1px solid rgba(23,60,53,.1); }
.stop-marker { position:absolute; top:-9px; left:16px; width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:var(--coral); color:#fff; font-size:9px; font-weight:900; box-shadow:0 0 0 5px var(--cream); }
.stop-icon { margin-bottom:17px; font-size:33px; }
.stop-meta { margin:0 0 7px!important; color:var(--coral)!important; font-size:8px!important; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.journey-stop h4 { margin:0 0 9px; font-family:var(--font-display),serif; font-size:27px; line-height:1; }
.journey-stop>p:last-of-type { margin:0; color:#5b716c; font-size:11px; line-height:1.55; }
.stop-link { display:inline-flex; align-items:center; gap:10px; margin-top:17px; padding-bottom:3px; border-bottom:1px solid var(--ink); font-size:9px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.lembongan-story { margin:0 0 108px; padding:clamp(42px,6vw,78px); position:relative; overflow:hidden; background:var(--night); color:#f8f3e8; scroll-margin-top:24px; }
.lembongan-story::before { content:"LEMBONGAN"; position:absolute; top:-10px; right:-18px; color:rgba(199,241,91,.055); font-family:var(--font-display),serif; font-size:clamp(80px,13vw,180px); line-height:1; pointer-events:none; }
.ubud-story { --night:#3b3426; --acid:#f1cb65; }
.ubud-story::before { content:"UBUD"; }
.seminyak-story { --night:#233b46; --acid:#ffb865; }
.seminyak-story::before { content:"SEMINYAK"; color:rgba(255,184,101,.06); }
.seminyak-story .lembongan-title-block>p:last-child { color:#c4d4d8; }
.seminyak-hero-grid .lembongan-hero-main img { object-position:center 62%; }
.lembongan-masthead { position:relative; z-index:1; display:grid; grid-template-columns:.76fr 1.24fr; gap:clamp(35px,6vw,78px); align-items:center; }
.lembongan-title-block .eyebrow { color:var(--acid); }
.lembongan-title-block h3 { margin:0; font-size:clamp(47px,5.3vw,76px); line-height:.9; letter-spacing:-.035em; }
.lembongan-title-block h3 em { color:var(--acid); font-weight:500; }
.lembongan-title-block>p:last-child { margin:28px 0 0; color:#b8cec8; font-size:15px; line-height:1.75; }
.lembongan-hero-grid { min-width:0; height:620px; display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:1fr 1fr; gap:13px; }
.lembongan-hero-grid figure { margin:0; position:relative; min-width:0; min-height:0; overflow:hidden; background:#294943; }
.lembongan-hero-grid .lembongan-hero-main { grid-row:1/span 2; }
.lembongan-hero-grid img { width:100%; height:100%; display:block; object-fit:cover; }
.lembongan-hero-grid figcaption,.gallery-photo figcaption { position:absolute; left:13px; bottom:13px; padding:7px 9px; background:rgba(16,43,39,.83); color:#fff; font-size:8px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; backdrop-filter:blur(6px); }
.lembongan-days { margin:72px 0 92px; border-top:1px solid rgba(199,241,91,.28); border-bottom:1px solid rgba(199,241,91,.28); }
.lembongan-day { position:relative; padding:48px 0 44px; display:grid; grid-template-columns:90px minmax(220px,.75fr) minmax(300px,1.25fr); column-gap:clamp(24px,4vw,58px); row-gap:28px; border-bottom:1px solid rgba(199,241,91,.18); }
.lembongan-day:last-child { border-bottom:0; }
.day-number { color:rgba(199,241,91,.28); font-family:var(--font-display),serif; font-size:72px; line-height:.8; }
.day-heading { position:relative; }
.day-date { margin:0 0 15px; color:var(--acid); font-size:9px; font-weight:900; letter-spacing:.12em; }
.lembongan-day h4 { margin:0 0 18px; font-family:var(--font-display),serif; font-size:clamp(30px,3.1vw,43px); line-height:.98; }
.day-lead { margin:0; color:#d4e1dd; font-size:13px; font-weight:650; line-height:1.65; }
.day-copy { padding-left:clamp(0px,2vw,28px); border-left:1px solid rgba(199,241,91,.18); }
.day-copy p { margin:0 0 18px; color:#afc6c0; font-size:12px; line-height:1.85; }
.day-copy p:last-child { margin-bottom:0; }
.day-route { grid-column:2/-1; list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.day-route li { padding:8px 10px; border:1px solid rgba(199,241,91,.28); color:var(--acid); font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ubud-programs { margin:12px 0 92px; }
.ubud-programs-heading { max-width:820px; margin:0 0 42px; }
.ubud-programs-heading .eyebrow { margin:0 0 14px; color:var(--acid); }
.ubud-programs-heading h4 { margin:0 0 18px; font-family:var(--font-display),serif; font-size:clamp(42px,5vw,70px); line-height:.92; }
.ubud-programs-heading>p:last-child { max-width:680px; margin:0; color:#afc6c0; font-size:12px; line-height:1.8; }
.ubud-program-list { border-top:1px solid rgba(241,203,101,.28); }
.ubud-program-card { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(32px,5vw,72px); align-items:start; padding:58px 0 66px; border-bottom:1px solid rgba(241,203,101,.22); }
.ubud-program-card:nth-child(even) .ubud-program-copy { order:2; }
.ubud-program-card:nth-child(even)>.lembongan-gallery { order:1; }
.ubud-program-copy { position:relative; padding-top:8px; }
.ubud-program-number { position:absolute; top:-10px; right:0; color:rgba(241,203,101,.17); font-family:var(--font-display),serif; font-size:76px; line-height:.8; }
.ubud-program-copy .day-date { padding-right:70px; }
.ubud-program-copy h5 { position:relative; margin:0 0 24px; padding-right:24px; font-family:var(--font-display),serif; font-size:clamp(31px,3.6vw,49px); line-height:.98; }
.ubud-program-copy>p:not(.day-date) { margin:0 0 17px; color:#b7c9c4; font-size:12px; line-height:1.85; }
.ubud-program-copy>p:last-child { margin-bottom:0; }
.ubud-program-card>.lembongan-gallery { grid-template-columns:repeat(3,1fr); grid-auto-rows:170px; align-self:start; }
.ubud-program-card .gallery-photo.wide { grid-column:span 2; }
.ubud-spa-note { margin:20px 0 58px; padding:28px 32px 30px; border:1px solid rgba(241,203,101,.42); border-left:6px solid var(--acid); background:rgba(241,203,101,.07); max-width:760px; }
.ubud-spa-note .eyebrow { margin:0 0 10px; color:var(--acid); }
.ubud-spa-note h4 { margin:0 0 12px; font-family:var(--font-display),serif; font-size:clamp(27px,3vw,40px); line-height:1; }
.ubud-spa-note>p:last-child { margin:0; color:#c0cec9; font-size:12px; line-height:1.75; }
.seminyak-days { border-color:rgba(255,184,101,.3); }
.seminyak-days .lembongan-day { border-color:rgba(255,184,101,.2); }
.seminyak-days .day-number { color:rgba(255,184,101,.26); }
.seminyak-days .day-copy { border-color:rgba(255,184,101,.2); }
.seminyak-days .day-route li { border-color:rgba(255,184,101,.34); }
.surf-story { margin:0 0 96px; padding:clamp(34px,5vw,66px); position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.15); background:linear-gradient(145deg,#0c6376 0%,#124d60 56%,#173b4a 100%); box-shadow:18px 18px 0 rgba(255,184,101,.17); }
.surf-story::after { content:"SURF"; position:absolute; top:-18px; right:-14px; color:rgba(255,255,255,.045); font-family:var(--font-display),serif; font-size:clamp(92px,15vw,190px); line-height:1; pointer-events:none; }
.surf-story-heading,.surf-story-copy,.surf-story>.lembongan-gallery { position:relative; z-index:1; }
.surf-story-heading { max-width:890px; margin:0 0 38px; }
.surf-story-heading .eyebrow { margin:0 0 14px; color:var(--acid); }
.surf-story-heading h4 { margin:0 0 22px; font-family:var(--font-display),serif; font-size:clamp(45px,5.4vw,72px); line-height:.9; }
.surf-story-heading h4 em { color:var(--acid); font-weight:500; }
.surf-story-heading>p:last-child { max-width:700px; margin:0; color:#c7dce0; font-size:13px; line-height:1.75; }
.surf-story-copy { margin:0 0 42px; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,3vw,42px); }
.surf-story-copy p { margin:0; padding-top:20px; border-top:1px solid rgba(255,184,101,.35); color:#d3e1e4; font-size:12px; line-height:1.85; }
.surf-story>.lembongan-gallery { grid-template-columns:repeat(3,1fr); grid-auto-rows:205px; }
.surf-story>.lembongan-gallery .gallery-photo:first-child { grid-row:span 2; }
.seminyak-highlights { margin-top:0; }
.seminyak-highlights .ubud-program-list { border-color:rgba(255,184,101,.3); }
.seminyak-highlights .ubud-program-card { border-color:rgba(255,184,101,.22); }
.seminyak-highlights .ubud-program-number { color:rgba(255,184,101,.18); }
.lembongan-gallery-heading { margin-bottom:32px; display:flex; align-items:end; justify-content:space-between; gap:35px; }
.lembongan-gallery-heading .eyebrow { color:var(--acid); }
.lembongan-gallery-heading h4 { margin:0; font-family:var(--font-display),serif; font-size:clamp(36px,4vw,56px); line-height:.95; }
.lembongan-gallery-heading>p { margin:0; color:#a9c0ba; font-size:11px; }
.lembongan-gallery { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; grid-auto-flow:dense; gap:11px; }
.gallery-photo { margin:0; position:relative; min-width:0; overflow:hidden; background:#294943; }
.gallery-photo.wide { grid-column:span 2; }
.gallery-photo.tall { grid-row:span 2; }
.gallery-open { width:100%; height:100%; display:block; position:relative; padding:0; border:0; background:transparent; color:inherit; cursor:zoom-in; }
.gallery-open img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease,filter .45s ease; }
.gallery-photo:hover .gallery-open img,.gallery-open:focus-visible img { transform:scale(1.045); filter:saturate(1.08) contrast(1.03); }
.gallery-open:focus-visible { outline:3px solid var(--acid); outline-offset:-3px; }
.zoom-cue { position:absolute; top:13px; right:13px; width:33px; height:33px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.64); border-radius:50%; background:rgba(16,43,39,.68); color:#fff; font-size:20px; line-height:1; opacity:0; transform:scale(.75); transition:opacity .25s,transform .25s; backdrop-filter:blur(6px); }
.gallery-photo:hover .zoom-cue,.gallery-open:focus-visible .zoom-cue { opacity:1; transform:scale(1); }
.photo-lightbox { position:fixed; inset:0; z-index:1000; display:grid; grid-template-columns:86px minmax(0,1fr) 86px; align-items:center; padding:34px; background:rgba(5,18,16,.96); animation:lightbox-in .22s ease-out; }
.lightbox-stage { min-width:0; height:calc(100vh - 68px); display:flex; flex-direction:column; align-items:center; justify-content:center; touch-action:pan-y; }
.lightbox-stage img { max-width:100%; max-height:calc(100% - 72px); object-fit:contain; box-shadow:0 25px 70px rgba(0,0,0,.4); }
.lightbox-caption { width:min(100%,900px); min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:25px; color:#fff; }
.lightbox-caption p { margin:0; font-family:var(--font-display),serif; font-size:24px; }
.lightbox-caption span { color:var(--acid); font-size:10px; font-weight:900; letter-spacing:.1em; }
.lightbox-close,.lightbox-arrow { border:1px solid rgba(255,255,255,.3); border-radius:50%; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; transition:background .2s,transform .2s,border-color .2s; }
.lightbox-close:hover,.lightbox-arrow:hover,.lightbox-close:focus-visible,.lightbox-arrow:focus-visible { border-color:var(--acid); background:rgba(199,241,91,.12); transform:scale(1.06); outline:none; }
.lightbox-close { position:absolute; top:22px; right:24px; width:44px; height:44px; z-index:2; font-size:29px; }
.lightbox-arrow { width:52px; height:52px; justify-self:center; font-size:25px; }
@keyframes lightbox-in { from { opacity:0; } to { opacity:1; } }
.archive-heading { margin:0 0 32px; }
.archive-heading h3 { margin:0; font-size:clamp(36px,4vw,56px); line-height:.95; }
.trip-card { border:1px solid var(--line); background:#fff; }
.trip-card:not(.featured) { display:grid; grid-template-columns:.92fr 1.08fr; }
.trip-card:nth-child(3) { grid-column:2; }
.featured { grid-row:1/span 2; }
.trip-visual { min-height:210px; position:relative; display:grid; place-items:center; overflow:hidden; }
.featured .trip-visual { min-height:390px; }
.tuscany { background:radial-gradient(circle at 70% 25%,#f4d15b 0 11%,transparent 11%),linear-gradient(165deg,#a9d3d0 0 45%,#e9c86f 45% 65%,#a8ad61 65%); }
.mountains { background:linear-gradient(150deg,#c8d9d1 0 35%,#769589 35% 55%,#486c62 55%); }
.vienna { background:linear-gradient(140deg,#e7b083,#eed6b5 52%,#77968a 52%); }
.scene-icon { font-size:72px; filter:drop-shadow(0 7px 3px rgba(0,0,0,.16)); }
.trip-tag { position:absolute; top:16px; left:16px; background:var(--paper); padding:7px 10px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.trip-copy { padding:27px 28px 30px; }
.trip-meta { margin:0 0 13px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--coral); font-weight:800; }
.trip-copy h3 { margin:0 0 13px; font-size:29px; line-height:1.06; }
.featured .trip-copy h3 { font-size:38px; }
.trip-copy>p:not(.trip-meta) { color:#5b716c; font-size:13px; line-height:1.65; }
.trip-copy a { display:inline-block; margin-top:8px; font-size:11px; font-weight:800; border-bottom:1px solid var(--ink); padding-bottom:4px; }

footer { padding:38px max(6vw,28px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; font-size:11px; color:#6a7d78; }
footer p:last-child { text-align:right; }

@media (max-width:1000px) { nav { gap:18px; } .journey-stops { grid-template-columns:repeat(2,1fr); } .lembongan-masthead { grid-template-columns:1fr; } .lembongan-title-block { max-width:700px; } .lembongan-day { grid-template-columns:74px 1fr; } .day-copy { grid-column:2; padding:24px 0 0; border-left:0; border-top:1px solid rgba(199,241,91,.18); } .day-route { grid-column:2; } .cat-grid { gap:10px; } .cat-portrait { height:180px; } }
@media (max-width:1000px) {
  .ubud-program-card { grid-template-columns:1fr; gap:34px; }
  .ubud-program-card:nth-child(even) .ubud-program-copy,.ubud-program-card:nth-child(even)>.lembongan-gallery { order:initial; }
}
@media (max-width:900px) {
  nav { display:none; } .hero { grid-template-columns:1fr; padding-top:45px; } .hero-art { height:450px; margin-top:40px; } .postcard { width:250px; height:320px; }
  .family-grid { grid-template-columns:repeat(2,1fr); max-width:760px; } .journey-summary { grid-template-columns:1fr; gap:28px; } .lembongan-hero-grid { height:540px; } .lembongan-gallery { grid-template-columns:repeat(2,1fr); } .trip-grid { grid-template-columns:1fr; } .featured { grid-row:auto; } .trip-card:nth-child(3) { grid-column:auto; }
  .surf-story-copy { grid-template-columns:1fr; gap:18px; }
}
@media (max-width:620px) {
  .site-header { height:72px; padding:0 20px; } .hero { min-height:auto; padding:55px 20px 85px; } h1 { font-size:58px; } .lead { font-size:16px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; } .hero-art { height:360px; } .postcard { width:190px; height:250px; } .postcard-one { left:0; } .postcard-two { right:0; }
  .postcard-sky { font-size:42px; } .postcard-land { font-size:48px; } .section { padding:78px 20px; } .family-grid { grid-template-columns:1fr; max-width:520px; }
  .trips-title { align-items:flex-start; flex-direction:column; gap:25px; } .journey-card { margin-bottom:72px; box-shadow:7px 7px 0 var(--yellow); } .journey-summary { padding:32px 23px; } .journey-stops { grid-template-columns:1fr; padding:32px 20px 35px; gap:19px; } .lembongan-story { margin-left:-20px; margin-right:-20px; padding:65px 20px; } .lembongan-hero-grid { height:auto; grid-template-columns:1fr 1fr; grid-template-rows:360px 210px; } .lembongan-hero-grid .lembongan-hero-main { grid-column:1/span 2; grid-row:auto; } .lembongan-day { padding:42px 0 38px; display:block; } .day-number { position:absolute; top:39px; right:0; font-size:58px; } .day-heading { padding-right:58px; } .day-copy { padding-top:24px; margin-top:26px; } .day-copy p { font-size:12px; } .day-route { margin-top:24px; } .lembongan-gallery-heading { align-items:flex-start; flex-direction:column; } .lembongan-gallery { grid-auto-rows:170px; } .gallery-photo.wide { grid-column:span 2; } .zoom-cue { opacity:1; transform:scale(.9); } .photo-lightbox { grid-template-columns:1fr 1fr; grid-template-rows:1fr 58px; padding:58px 14px 14px; } .lightbox-stage { grid-column:1/span 2; height:calc(100vh - 130px); } .lightbox-caption { padding:0 5px; } .lightbox-caption p { font-size:18px; } .lightbox-arrow { grid-row:2; width:46px; height:46px; } .lightbox-arrow.previous { grid-column:1; } .lightbox-arrow.next { grid-column:2; } .lightbox-close { top:10px; right:12px; } .trip-card:not(.featured) { grid-template-columns:1fr; } .featured .trip-visual { min-height:290px; }
  footer { grid-template-columns:1fr; text-align:center; justify-items:center; } footer p:last-child { text-align:center; }
}
@media (max-width:620px) {
  .ubud-programs { margin-bottom:72px; }
  .ubud-programs-heading { margin-bottom:24px; }
  .ubud-program-card { padding:44px 0 50px; gap:28px; }
  .ubud-program-number { font-size:60px; }
  .ubud-program-copy h5 { padding-right:38px; }
  .ubud-program-card>.lembongan-gallery { grid-template-columns:repeat(2,1fr); grid-auto-rows:155px; }
  .ubud-spa-note { padding:24px 22px 26px; }
  .surf-story { margin-left:-2px; margin-right:-2px; padding:38px 20px; box-shadow:8px 8px 0 rgba(255,184,101,.17); }
  .surf-story>.lembongan-gallery { grid-template-columns:repeat(2,1fr); grid-auto-rows:165px; }
  .surf-story>.lembongan-gallery .gallery-photo:first-child { grid-row:span 2; }
}

/* WordPressben létrehozott külön oldalak */
.kalandra-page-body {
  background:
    radial-gradient(circle at 88% 12%, rgba(243,201,92,.30), transparent 28rem),
    radial-gradient(circle at 5% 72%, rgba(168,201,184,.30), transparent 30rem),
    var(--cream);
}
.kalandra-page-header { background:rgba(255,253,248,.88); backdrop-filter:blur(14px); }
.wordpress-page-shell { min-height:calc(100vh - 168px); padding:72px max(6vw,28px) 100px; }
.wordpress-page-card {
  max-width:1040px;
  margin:0 auto;
  padding:clamp(32px,6vw,78px);
  background:rgba(255,253,248,.96);
  border:1px solid var(--line);
  box-shadow:14px 14px 0 var(--yellow);
}
.wordpress-page-card > h1 {
  max-width:850px;
  margin:0 0 42px;
  font-size:clamp(54px,8vw,94px);
  line-height:.88;
}
.wordpress-page-content { color:#365b53; font-size:17px; line-height:1.8; }
.wordpress-page-content > :first-child { margin-top:0; }
.wordpress-page-content > :last-child { margin-bottom:0; }
.wordpress-page-content h2,
.wordpress-page-content h3,
.wordpress-page-content h4 { color:var(--ink); font-family:var(--font-display),serif; line-height:1.05; }
.wordpress-page-content h2 { margin:54px 0 20px; font-size:clamp(38px,5vw,62px); }
.wordpress-page-content h3 { margin:42px 0 16px; font-size:clamp(30px,4vw,46px); }
.wordpress-page-content a { color:var(--forest); font-weight:800; border-bottom:1px solid var(--coral); }
.wordpress-page-content img { max-width:100%; height:auto; border-radius:3px; }
.wordpress-page-content .wp-block-image { margin:34px 0; }
.wordpress-page-content .wp-block-image img { box-shadow:8px 8px 0 var(--sage); }
.wordpress-page-content figcaption { margin-top:12px; color:#6a7d78; font-size:12px; text-align:center; }
.wordpress-page-content .wp-block-button__link {
  display:inline-block;
  padding:14px 22px;
  background:var(--forest);
  color:#fff;
  border:0;
  border-radius:3px;
  box-shadow:6px 6px 0 var(--yellow);
}
@media (max-width:620px) {
  .wordpress-page-shell { padding:38px 20px 72px; }
  .wordpress-page-card { padding:32px 22px; box-shadow:7px 7px 0 var(--yellow); }
  .wordpress-page-card > h1 { margin-bottom:30px; font-size:54px; }
  .wordpress-page-content { font-size:15px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
