:root { scroll-behavior: smooth; }
body { margin: 0; }
.st-header { position: absolute; z-index: 20; width: 100%; color: #fff; }
.st-header-inner { padding: 22px 24px; }
.st-header .wp-block-image { margin: 0; }
.st-header .wp-block-image img { max-height: 70px; width: auto !important; filter: drop-shadow(0 2px 8px rgba(0,0,0,.28)); }
.st-header a { text-decoration: none; text-shadow: 0 1px 12px rgba(0,0,0,.4); }
.st-hero { min-height: 92vh; }
.st-hero .wp-block-cover__inner-container { width: min(1180px, calc(100% - 48px)); }
.st-kicker { letter-spacing: .16em; text-transform: uppercase; font-size: .78rem; font-weight: 750; }
.st-hero-title { max-width: 900px; text-wrap: balance; }
.st-hero-copy { max-width: 630px; font-size: clamp(1rem, 1.6vw, 1.25rem); }
.st-section { padding-top: clamp(70px, 10vw, 120px); padding-bottom: clamp(70px, 10vw, 120px); }
.st-intro { max-width: 780px; }
.st-tour-card { overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 18px 50px rgba(4,40,32,.08); }
.st-tour-card img { width: 100%; height: 330px; object-fit: cover; }
.st-card-copy { padding: 26px; }
.st-card-copy h3 { margin-top: 0; }
.st-about img { min-height: 560px; object-fit: cover; border-radius: 24px; }
.st-gallery img { aspect-ratio: 4/5; object-fit: cover; border-radius: 18px; }
.st-calendar-shell { border: 1px solid rgba(245,240,230,.28); border-radius: 24px; padding: clamp(28px, 5vw, 60px); }
.wp-block-button__link { transition: transform .2s ease, opacity .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); opacity: .92; }
@media (max-width: 781px) {
  .st-header-inner { padding: 14px 18px; }
  .st-header .wp-block-image img { max-height: 54px; }
  .st-hero { min-height: 820px; }
  .st-tour-card img { height: 280px; }
  .st-about img { min-height: 420px; }
}


/* Unified deep-green Susana Tours design */
body,
.wp-site-blocks {
	background: #073a31;
	color: #f5f0e6;
}
.has-cream-background-color {
	background-color: #073a31 !important;
	color: #f5f0e6 !important;
}
.st-tour-card {
	background: #0b4c3f;
	color: #f5f0e6;
	border: 1px solid rgba(245,240,230,.14);
	box-shadow: 0 18px 50px rgba(4,40,32,.28);
}
.st-tour-card .wp-block-button__link.has-forest-background-color {
	background: #f5f0e6 !important;
	color: #073a31 !important;
}
.st-gallery {
	border-top: 1px solid rgba(245,240,230,.12);
}
.st-testimonials {
	background: #073a31;
	color: #f5f0e6;
}
.st-testimonials-intro {
	max-width: 780px;
}
.st-review-card {
	height: 100%;
	background: #0b4c3f;
	border: 1px solid rgba(245,240,230,.16);
	border-radius: 22px;
	padding: 28px;
	box-shadow: 0 18px 45px rgba(4,40,32,.25);
}
.st-review-stars {
	color: #f2a93b;
	font-size: 1.1rem;
	letter-spacing: .12em;
	margin-bottom: 16px;
}
.st-review-quote {
	font-size: 1.05rem;
	line-height: 1.7;
}
.st-review-person {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
}
.st-review-avatar {
	width: 46px;
	height: 46px;
	min-width: 46px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #6e9f76;
	color: #fff;
	font-weight: 750;
}
.st-review-name {
	margin: 0;
	font-weight: 700;
}
.st-review-source {
	margin: 0;
	opacity: .72;
	font-size: .86rem;
}

.st-tour-gallery {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px !important;
	margin: 0 !important;
}
.st-tour-gallery > figure {
	width: 100% !important;
	margin: 0 !important;
}
.st-tour-gallery img {
	width: 100% !important;
	height: 175px !important;
	aspect-ratio: 4 / 3;
	object-fit: cover !important;
	border-radius: 0 !important;
}
@media(max-width:600px) {
	.st-tour-gallery img { height: 135px !important; }
}

/* Final green testimonial section */
body, .wp-site-blocks { background-color: #073a31 !important; }
.st-testimonials { background: #073a31 !important; color: #f5f0e6 !important; }
.st-testimonials h2, .st-testimonials p { color: #f5f0e6 !important; }
.st-review-card { background: #0b4c3f !important; color: #f5f0e6 !important; border: 1px solid rgba(245,240,230,.16) !important; border-radius: 18px !important; padding: 28px !important; box-shadow: 0 16px 36px rgba(0,0,0,.15) !important; height: 100%; }
.st-review-stars { color: #f4a24c !important; }

/* No beige section backgrounds — green everywhere */
html, body, .wp-site-blocks,
.wp-site-blocks > main,
.wp-site-blocks > div,
.wp-site-blocks > section,
main.st-section,
.st-section,
.st-gallery,
.st-testimonials,
.has-cream-background-color,
.has-base-background-color,
.has-background:not(.wp-block-button__link):not(.st-tour-card):not(.st-review-card) {
  background-color: #073a31 !important;
}
.st-section,
.st-section h1, .st-section h2, .st-section h3, .st-section h4,
.st-section p, .st-section li { color: #f5f0e6 !important; }
.st-tour-card, .st-review-card {
  background-color: #0b4c3f !important;
  color: #f5f0e6 !important;
}

/* Expanded clickable Instants gallery */
.st-instant-gallery { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px !important; }
.st-instant-gallery > figure { width:100% !important; margin:0 !important; overflow:hidden; border-radius:12px; }
.st-instant-gallery img { width:100% !important; height:190px !important; object-fit:cover !important; cursor:zoom-in; transition:transform .25s ease,filter .25s ease; }
.st-instant-gallery figure:hover img { transform:scale(1.04); filter:brightness(1.06); }
.st-review-avatar-photo { flex:0 0 46px; width:46px !important; height:46px !important; margin:0 !important; }
.st-review-avatar-photo img { width:46px !important; height:46px !important; border-radius:50% !important; object-fit:cover !important; }
.st-testimonials .wp-block-columns + .wp-block-columns { margin-top:24px; }
@media(max-width:900px){.st-instant-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.st-instant-gallery img{height:165px!important}}
@media(max-width:600px){.st-instant-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.st-instant-gallery img{height:135px!important}}


/* Calendrier de disponibilité — prêt pour la synchronisation Google/Amelia */
.st-booking-calendar{max-width:820px;margin:2rem auto;padding:clamp(1rem,3vw,2rem);background:#f7f1e5;color:#123f35;border-radius:24px;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.st-calendar-legend{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap;margin-bottom:.8rem;font-weight:700}.st-calendar-legend span{display:flex;align-items:center;gap:.45rem}.st-calendar-legend i{width:16px;height:16px;border-radius:50%;display:inline-block}.st-calendar-legend i.is-free{background:#2f9e62}.st-calendar-legend i.is-busy{background:#c84b4b}
.st-calendar-demo-note{text-align:center;font-size:.92rem;margin:0 auto 1.2rem;opacity:.8}.st-calendar-month h4{text-align:center;font-size:1.55rem;margin:.25rem 0 1rem}.st-calendar-weekdays,.st-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.st-calendar-weekdays span{text-align:center;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;opacity:.65;padding:.35rem 0}.st-cal-day{min-height:72px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none!important;border:2px solid transparent;transition:transform .18s ease,box-shadow .18s ease}.st-cal-day b{font-size:1.1rem}.st-cal-day small{font-size:.7rem;margin-top:.15rem}.st-cal-day.is-free{background:#dff3e8;color:#145b38;border-color:#58b980}.st-cal-day.is-free:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(22,116,69,.2)}.st-cal-day.is-busy{background:#f3dddd;color:#842e2e;border-color:#d97575}.st-cal-empty{visibility:hidden}.st-calendar-privacy{text-align:center;font-size:.86rem;line-height:1.5;margin:1.2rem auto 0;opacity:.78;max-width:650px}
@media(max-width:600px){.st-booking-calendar{padding:1rem;border-radius:18px}.st-calendar-weekdays,.st-calendar-grid{gap:4px}.st-cal-day{min-height:52px;border-radius:9px}.st-cal-day b{font-size:.95rem}.st-cal-day small{display:none}.st-calendar-weekdays span{font-size:.68rem}.st-calendar-legend{font-size:.85rem;gap:.8rem}}

/* Nagłówek miesiąca — nadpisanie globalnego koloru nagłówków */
.st-booking-calendar .st-calendar-month h4{display:block!important;visibility:visible!important;color:#123f35!important;background:transparent!important;font-size:clamp(1.45rem,3vw,2rem)!important;font-weight:800!important;line-height:1.2!important;text-align:center!important;margin:.4rem 0 1.15rem!important}

.st-calendar-nav{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:12px;margin:.25rem 0 1rem}.st-booking-calendar .st-calendar-nav h4{margin:0!important}.st-cal-arrow{width:48px;height:48px;border-radius:50%;border:2px solid #2f9e62;background:#fff;color:#123f35;font-size:2rem;line-height:1;cursor:pointer;font-weight:700}.st-cal-arrow:hover:not(:disabled){background:#dff3e8;transform:translateY(-1px)}.st-cal-arrow:disabled{opacity:.3;cursor:not-allowed}.st-calendar-panel[hidden]{display:none!important}@media(max-width:600px){.st-calendar-nav{grid-template-columns:44px 1fr 44px;gap:7px}.st-cal-arrow{width:42px;height:42px;font-size:1.7rem}}

/* Telefon: komunikatory poniżej menu */
@media(max-width:781px){.st-contact-float{top:100px!important;right:10px!important;bottom:auto!important;z-index:9999!important}}

.st-cal-day.is-selected{background:#145b38!important;color:#fff!important;border-color:#0c4027!important;box-shadow:0 0 0 4px rgba(47,158,98,.25)}body.st-modal-open{overflow:hidden}.st-booking-modal[hidden]{display:none!important}.st-booking-modal{position:fixed!important;inset:0!important;z-index:100000!important;background:rgba(5,30,25,.78)!important;padding:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;max-width:none!important}.st-booking-modal-card{position:relative;background:#f7f1e5;color:#123f35;width:min(600px,100%);max-height:92vh;overflow:auto;border-radius:24px;padding:clamp(20px,4vw,38px);box-shadow:0 24px 70px rgba(0,0,0,.35)}.st-booking-modal-card h3{color:#123f35!important;font-size:clamp(1.45rem,4vw,2rem);margin:0 45px .6rem 0}.st-modal-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#123f35;color:#fff;font-size:1.7rem;cursor:pointer}.st-selected-dates{font-weight:800;color:#145b38;background:#dff3e8;padding:12px 14px;border-radius:12px}.st-form-note{font-size:.9rem;opacity:.8}.st-booking-modal-card label{display:block;font-weight:700;margin:.9rem 0}.st-booking-modal-card input,.st-booking-modal-card textarea{width:100%;box-sizing:border-box;border:1px solid #9bb9ad;border-radius:10px;padding:11px 12px;background:#fff;color:#123f35;font:inherit}.st-booking-modal-card textarea{min-height:105px}.st-booking-modal-card input[type=submit]{background:#145b38;color:#fff;border:0;font-weight:800;cursor:pointer;padding:13px 18px}.st-add-date{border:0;background:transparent;color:#145b38;font-weight:800;text-decoration:underline;cursor:pointer;margin-top:.4rem}.wpcf7-response-output{border-radius:10px;padding:12px!important;margin:1rem 0 0!important}@media(max-width:600px){.st-booking-modal{padding:10px!important;align-items:flex-start!important}.st-booking-modal-card{margin-top:8px;max-height:96vh;border-radius:18px;padding:20px 16px}}

/* Lisibilité du formulaire de réservation sur mobile et ordinateur */
.st-booking-modal-card,.st-booking-modal-card p,.st-booking-modal-card label,.st-booking-modal-card .wpcf7{color:#123f35!important}.st-booking-modal-card form p{margin:0 0 .8rem!important;padding:0!important;line-height:1.35!important}.st-booking-modal-card label{display:block!important;margin:0!important;color:#123f35!important;font-size:1rem!important;font-weight:800!important;line-height:1.35!important}.st-booking-modal-card .wpcf7-form-control-wrap{display:block!important;margin-top:.35rem!important}.st-booking-modal-card .st-selected-dates{display:block!important;color:#145b38!important;background:#dff3e8!important;margin:.7rem 0!important;padding:12px 14px!important;line-height:1.4!important}.st-booking-modal-card .st-form-note{color:#123f35!important;margin:.6rem 0!important;line-height:1.45!important}.st-add-date-top{display:inline-block!important;margin:0 0 1rem!important;padding:8px 0!important}.st-booking-modal-card input,.st-booking-modal-card textarea{margin:0!important;color:#123f35!important}.st-booking-modal-card input[name=tour-dates]{font-weight:800!important;background:#f0f7f3!important}.st-booking-modal-card input::placeholder,.st-booking-modal-card textarea::placeholder{color:#59766c!important}
@media(max-width:600px){.st-booking-modal-card form p{margin-bottom:.65rem!important}.st-booking-modal-card label{font-size:.94rem!important}.st-booking-modal-card input,.st-booking-modal-card textarea{padding:10px!important}.st-booking-modal-card textarea{min-height:90px!important}}

/* Ciemny formularz zgodny z wyglądem strony */
.st-booking-modal-card{background:#0b4a3e!important;color:#f7f1e5!important;border:1px solid rgba(247,241,229,.2)!important}.st-booking-modal-card h3,.st-booking-modal-card p,.st-booking-modal-card label,.st-booking-modal-card .wpcf7{color:#f7f1e5!important}.st-booking-modal-card .st-selected-dates{background:#146552!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}.st-booking-modal-card .st-form-note{color:#e6eee9!important}.st-booking-modal-card input,.st-booking-modal-card textarea{background:#f7f1e5!important;color:#123f35!important;border-color:#96b8ab!important}.st-booking-modal-card input[name=tour-dates]{background:#dff3e8!important;color:#145b38!important}.st-booking-modal-card .st-add-date{color:#bde6cf!important}.st-booking-modal-card input[type=submit]{background:#f0a23a!important;color:#123f35!important}.st-modal-close{background:#f7f1e5!important;color:#123f35!important}

/* Stały powrót do strony głównej */
.st-home-shortcut{position:fixed;left:16px;bottom:18px;z-index:9999999;display:flex;align-items:center;gap:8px;padding:11px 15px;border-radius:999px;background:#f0a23a;color:#123f35!important;font-weight:800;text-decoration:none!important;box-shadow:0 8px 28px rgba(0,0,0,.32);font-size:14px;line-height:1}
.st-home-shortcut:hover{transform:translateY(-2px);background:#f7b45c}
.st-home-return{display:inline-flex;margin:8px 0 12px;color:#f7f1e5!important;font-weight:800;text-decoration:underline!important;text-underline-offset:4px}
@media(max-width:600px){.st-home-shortcut{left:10px;bottom:12px;padding:10px 12px;font-size:13px}}

/* Zielony, zwarty kalendarz — telefon */
.st-booking-calendar,.st-calendar-month,.st-calendar-panels,.st-calendar-panel{background:#0b4a3e!important;color:#f7f1e5!important}
.st-booking-calendar{border:1px solid rgba(247,241,229,.16)!important}
.st-calendar-demo-note,.st-calendar-legend,.st-calendar-nav h4,.st-calendar-weekdays span,.st-calendar-privacy{color:#f7f1e5!important}
.st-calendar-legend i.is-free{background:#35b778!important}.st-calendar-legend i.is-busy{background:#d76268!important}
@media(max-width:600px){
.st-booking-calendar{padding:18px 10px 16px!important;border-radius:22px!important}
.st-calendar-demo-note{margin:12px 4px 18px!important;font-size:15px!important;line-height:1.4!important}
.st-calendar-nav{margin:4px 0 14px!important;grid-template-columns:48px 1fr 48px!important;gap:7px!important}
.st-calendar-nav h4{font-size:25px!important;line-height:1.05!important}
.st-cal-arrow{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important}
.st-calendar-weekdays,.st-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important}
.st-calendar-weekdays{margin-bottom:6px!important}
.st-calendar-weekdays span{font-size:11px!important}
.st-cal-day{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important;padding:0!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.st-cal-day b{font-size:16px!important;line-height:1!important}.st-cal-day small{display:none!important}
.st-cal-empty{border:0!important;background:transparent!important}
}

/* STAŁA ZASADA: wszystkie tła strony są zielone */
html,body,.wp-site-blocks,main,.st-section,.st-about,.st-programs,.st-testimonials,.st-calendar-shell,.st-booking-calendar,.st-calendar-month,.st-calendar-panels,.st-calendar-panel{background-color:#0b4a3e!important;color:#f7f1e5!important}
.st-program-card,.st-review-card,.st-testimonials-intro{background-color:#115c4c!important;color:#f7f1e5!important}
.wp-site-blocks>header,.wp-site-blocks>footer{background-color:#073d34!important;color:#f7f1e5!important}
.st-section h1,.st-section h2,.st-section h3,.st-section h4,.st-section p,.st-section li,.st-section .st-kicker,.st-review-card *,.st-program-card *{color:#f7f1e5!important}

/* Czytelne nazwy miesięcy i dni */
.st-calendar-nav h4,.st-calendar-nav h4.wp-block-heading{color:#ffffff!important;opacity:1!important;text-shadow:0 1px 2px rgba(0,0,0,.35)!important}
.st-calendar-weekdays span{color:#f7f1e5!important;opacity:1!important}

/* Wymuszenie białej nazwy miesiąca na wszystkich urządzeniach */
body .st-booking-calendar .st-calendar-nav h4,body .st-booking-calendar .st-calendar-nav h4.wp-block-heading{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;filter:none!important;text-shadow:0 2px 4px rgba(0,0,0,.65)!important}

/* Keep the booking submit button clear on mobile. */
body.st-modal-open .st-home-shortcut { display: none !important; }
