/**
 * Ziołowa Rezydencja — bezpieczne style dla natywnych bloków WordPressa.
 * Teksty, obrazy i linki edytuje się bezpośrednio w Gutenbergie.
 */

:root {
	--pp-forest: #2b3b2c;
	--pp-forest-deep: #1d291f;
	--pp-sage: #5e735d;
	--pp-sage-light: #e6eae2;
	--pp-ivory: #f7f6f1;
	--pp-paper: #ffffff;
	--pp-ink: #20221f;
	--pp-body: #4c504a;
	--pp-brick: #8a3324;
	--pp-brick-deep: #6b2519;
	--pp-gold: #c8a461;
	--pp-line: rgba(43, 59, 44, 0.14);
}

.pp-homepage { overflow: hidden; background: var(--pp-ivory); color: var(--pp-ink); font-family: Manrope, Arial, sans-serif; }
.pp-homepage h1, .pp-homepage h2, .pp-homepage h3 { font-family: "Cormorant Garamond", Georgia, serif; letter-spacing: -.045em; }
.pp-homepage p { color: var(--pp-body); line-height: 1.75; }
.pp-homepage .wp-block-button__link { border-radius: 0; padding: .95rem 1.4rem; background: var(--pp-brick); font-family: Manrope, Arial, sans-serif; font-size: .82rem; font-weight: 700; letter-spacing: .02em; transition: background-color .18s ease, transform .16s ease; }
.pp-homepage .wp-block-button__link:hover { background: var(--pp-brick-deep); transform: translateY(-1px); }
.pp-kicker, .pp-eyebrow { display: flex; align-items: center; gap: .6rem; color: var(--pp-sage) !important; font-size: .68rem !important; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.pp-kicker::before, .pp-eyebrow::before { content: "●"; color: var(--pp-gold); font-size: .85rem; }

.pp-hero { position: relative; display: flex; min-height: 780px; align-items: flex-end; padding: 11rem max(1.5rem, calc((100vw - 1280px) / 2)) 8.25rem !important; background: var(--pp-forest-deep); isolation: isolate; }
.pp-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(18,30,20,.80) 0%, rgba(22,35,24,.50) 47%, rgba(22,35,24,.12) 80%), linear-gradient(0deg, rgba(15,25,16,.46), rgba(15,25,16,0) 52%); }
.pp-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; margin: 0 !important; }
.pp-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.pp-hero__content { max-width: 700px; }
.pp-hero .pp-eyebrow { color: #f3ebd8 !important; }
.pp-hero h1 { max-width: 720px; margin: 1.3rem 0 0 !important; color: var(--pp-paper); font-size: clamp(4rem, 8.2vw, 7.1rem); font-weight: 600; line-height: .82; }
.pp-hero .pp-hero__lead { max-width: 540px; margin-top: 1.9rem !important; color: rgba(255,255,255,.9); font-size: 1.125rem; }
.pp-hero .wp-block-buttons { gap: 1rem; margin-top: 2.1rem; }
.pp-hero .pp-button-link .wp-block-button__link { padding: 0 0 .3rem; border-bottom: 1px solid rgba(255,255,255,.72); background: transparent; color: var(--pp-paper); }

.pp-intro { max-width: none !important; padding: 4rem max(1.5rem, calc((100vw - 760px) / 2)) 7.2rem !important; background: var(--pp-paper); text-align: center; }
.pp-intro .pp-kicker { justify-content: center; }
.pp-intro h2, .pp-section-heading h2 { margin-top: 1rem !important; font-size: clamp(2.8rem, 5vw, 4.4rem); font-weight: 600; line-height: .93; }
.pp-intro > p:last-child { margin-top: 1.5rem !important; font-size: 1.08rem; }

.pp-offers { max-width: none !important; padding: 2.4rem max(1.5rem, calc((100vw - 1280px) / 2)) !important; background: var(--pp-ivory); }
.pp-section-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(230px, .6fr); gap: 2.8rem; margin-bottom: 3.2rem !important; }
.pp-section-heading > p { align-self: end; margin: 0 0 .35rem !important; font-size: .95rem; }
.pp-offers > .wp-block-columns { gap: 1.25rem; }
.pp-offer-card { height: 100%; overflow: hidden; border: 1px solid var(--pp-line); background: var(--pp-paper); box-shadow: 0 12px 28px rgba(43,59,44,.04); }
.pp-offer-card__visual { position: relative; display: flex; min-height: 255px; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 1.5rem; background: linear-gradient(145deg, #d6dfd0 0%, #f3efe5 55%, #bdcbb5 100%); }
.pp-offer-card__visual::before, .pp-offer-card__visual::after { content: ""; position: absolute; border-radius: 50%; }
.pp-offer-card__visual::before { top: -42%; right: -18%; width: 78%; height: 78%; border: 1px solid rgba(43,59,44,.24); box-shadow: 0 0 0 24px rgba(255,255,255,.15), 0 0 0 54px rgba(43,59,44,.045); }
.pp-offer-card__visual::after { bottom: -33%; left: -17%; width: 58%; height: 58%; background: rgba(138,51,36,.16); }
.pp-offer-card--relax .pp-offer-card__visual { background: linear-gradient(155deg, #6e846c 0%, #2f4532 100%); color: var(--pp-paper); }
.pp-offer-card--relax .pp-offer-card__visual::before { right: 9%; top: 15%; width: 48%; height: 48%; border-color: rgba(255,255,255,.47); box-shadow: 0 0 0 21px rgba(255,255,255,.08); }
.pp-offer-card--relax .pp-offer-card__visual::after { background: rgba(200,164,97,.3); }
.pp-offer-card--celebrate .pp-offer-card__visual { background: linear-gradient(138deg, #863d2d 0%, #5a261d 67%, #3b2b21 100%); color: var(--pp-paper); }
.pp-offer-card--celebrate .pp-offer-card__visual::before { left: 10%; bottom: 15%; width: 70%; height: 1px; border-radius: 0; background: rgba(255,255,255,.44); box-shadow: 0 -26px 0 rgba(255,255,255,.17), 0 -52px 0 rgba(255,255,255,.1); transform: rotate(-10deg); }
.pp-offer-card--celebrate .pp-offer-card__visual::after { top: -18%; right: -10%; width: 52%; height: 52%; border: 1px solid rgba(255,255,255,.25); background: transparent; }
.pp-offer-card__mark { position: relative; z-index: 1; width: 50px; margin: 0 0 .8rem !important; padding: .4rem; background: rgba(255,255,255,.78); }
.pp-offer-card__mark img { display: block; width: 100%; }
.pp-offer-card__visual > p { position: relative; z-index: 1; margin: 0; color: inherit; font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.45rem; font-weight: 700; letter-spacing: -.03em; }
.pp-offer-card__body { padding: 1.6rem 1.55rem 1.8rem; }
.pp-offer-card h3 { margin: 0; font-size: 2rem; font-weight: 600; line-height: 1; }
.pp-offer-card__body > p { margin: .8rem 0 1rem; font-size: .88rem; }
.pp-offer-card__body > p:last-child a { color: var(--pp-brick); font-size: .72rem; font-weight: 800; letter-spacing: .025em; text-decoration: none; text-transform: uppercase; }

.pp-feature { max-width: none !important; padding: 3.8rem max(1.5rem, calc((100vw - 1280px) / 2)) !important; background: var(--pp-forest); color: var(--pp-paper); }
.pp-feature > .wp-block-columns, .pp-residence > .wp-block-columns, .pp-celebration > .wp-block-columns, .pp-contact > .wp-block-columns { align-items: center; gap: clamp(2.4rem, 6vw, 6rem); }
.pp-feature h2, .pp-residence h2, .pp-celebration h2, .pp-contact h2 { margin-top: 1rem; font-size: clamp(2.8rem, 5vw, 4.25rem); font-weight: 600; line-height: .94; }
.pp-feature h2, .pp-contact h2 { color: var(--pp-paper); }
.pp-feature p { color: rgba(255,255,255,.78); }
.pp-feature .pp-kicker, .pp-contact .pp-kicker { color: #d9e1d4 !important; }
.pp-manifest { position: relative; display: flex; min-height: 450px; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 2.35rem; background: linear-gradient(147deg, #efe8d8 0%, #dbe5d7 44%, #99ab91 100%); color: var(--pp-forest); box-shadow: 18px 20px 0 rgba(0,0,0,.12); }
.pp-manifest::before { content: ""; position: absolute; top: -110px; right: -105px; width: 380px; height: 380px; border: 1px solid rgba(43,59,44,.2); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.13), 0 0 0 69px rgba(43,59,44,.06); }
.pp-manifest__mark { position: relative; z-index: 1; width: 94px; margin: 0 !important; padding: .8rem; background: rgba(255,255,255,.74); }
.pp-manifest__mark img { display: block; width: 100%; }
.pp-manifest > p, .pp-manifest h3 { position: relative; z-index: 1; }
.pp-manifest > p { margin: auto 0 0; color: var(--pp-forest); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.pp-manifest h3 { margin: .75rem 0 0; font-size: clamp(3.4rem, 6vw, 5.5rem); font-weight: 600; line-height: .75; }

.pp-residence { max-width: none !important; padding: 3.6rem max(1.5rem, calc((100vw - 1280px) / 2)) !important; background: var(--pp-paper); }
.pp-residence__image { position: relative; margin: 0 !important; }
.pp-residence__image::before { content: ""; position: absolute; z-index: 0; inset: 26px -22px -25px 25px; border: 1px solid var(--pp-sage); }
.pp-residence__image img { position: relative; z-index: 1; display: block; width: 100%; min-height: 460px; object-fit: cover; filter: saturate(.82) sepia(.08) contrast(.98); }

.pp-celebration { max-width: none !important; padding: 3.6rem max(1.5rem, calc((100vw - 1280px) / 2)) !important; background: var(--pp-sage-light); }
.pp-celebration__seal { display: grid; min-height: 255px; place-items: center; padding: 1.5rem; border: 1px solid rgba(43,59,44,.2); text-align: center; }
.pp-celebration__seal .wp-block-image { width: 90px; margin: 0 !important; }
.pp-celebration__seal img { display: block; width: 100%; }
.pp-celebration__seal p { margin: .8rem 0 0; color: var(--pp-forest); font-size: .66rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.pp-contact { max-width: none !important; padding: 7rem max(1.5rem, calc((100vw - 1280px) / 2)) !important; background: var(--pp-forest-deep); color: var(--pp-paper); }
.pp-contact p { color: rgba(255,255,255,.74); }
.pp-contact__card { padding: 2rem; background: var(--pp-ivory); color: var(--pp-ink); box-shadow: 18px 20px 0 rgba(0,0,0,.16); }
.pp-contact__card h3 { margin-top: 0; font-size: 2rem; }
.pp-contact__card p { color: var(--pp-body); }
.pp-contact__card a { color: var(--pp-brick); }

@media (max-width: 781px) {
	.pp-hero { min-height: 680px; padding: 8rem 1.25rem 4.2rem !important; }
	.pp-hero h1 { font-size: clamp(3.6rem, 17vw, 5.1rem); }
	.pp-intro, .pp-offers, .pp-residence { padding-top: 5rem !important; padding-bottom: 5rem !important; }
	.pp-feature, .pp-celebration, .pp-contact { padding-top: 4.7rem !important; padding-bottom: 4.7rem !important; }
	.pp-section-heading { display: block; margin-bottom: 2rem !important; }
	.pp-section-heading > p { margin-top: 1rem !important; }
	.pp-offer-card { margin-bottom: 1rem; }
	.pp-manifest { min-height: 340px; margin-top: 2rem; }
	.pp-residence__image { margin-bottom: 3rem !important; }
	.pp-residence__image img { min-height: 360px; }
}
