/*
Theme Name: DiveGency
Author: Oskar
Description: Motyw strony DiveGency — wyjazdy nurkowe i liveaboardy.
Version: 1.0.4
Requires at least: 6.4
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: divegency
*/

:root {
	--dg-abyss: #06202B;
	--dg-deep: #0A3A45;
	--dg-sea: #0A4D5C;
	--dg-mist: #CFE3E4;
	--dg-foam: #F3F6F5;
	--dg-ink: #0B1D24;
	--dg-muted: #4A5E63;
	--dg-haze: #B7CDCF;
	--dg-sun: #F2C14E;
	--dg-display: "Bricolage Grotesque", system-ui, sans-serif;
}

body { margin: 0; }

/* Wspólne */
.dg-wrap { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
.dg-section { padding-top: 104px; padding-bottom: 104px; margin: 0 !important; }
.dg-dark { background: var(--dg-abyss); color: #E6F1F1; }
.dg-deep { background: var(--dg-deep); color: #E6F1F1; }
.dg-dark h1, .dg-dark h2, .dg-dark h3, .dg-deep h2, .dg-deep h3 { color: #fff; }
.dg-dark p, .dg-deep p { color: var(--dg-haze); }
.dg-eyebrow { font-size: 14px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--dg-sea) !important; margin: 0 0 8px !important; }
.dg-dark .dg-eyebrow, .dg-deep .dg-eyebrow { color: var(--dg-sun) !important; }
.dg-accent { color: var(--dg-sun); }
.dg-lead { font-size: 20px !important; max-width: 540px; }

/* Nagłówek */
.dg-header { background: var(--dg-abyss); margin: 0 !important; }
.dg-header-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 24px; padding-bottom: 24px; }
.dg-header-row > * { margin: 0 !important; }
.dg-logo { font-family: var(--dg-display); font-weight: 800; font-size: 26px !important; letter-spacing: -.02em; }
.dg-logo a { color: #fff !important; text-decoration: none; }
.dg-nav-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.dg-nav-wrap > * { margin: 0 !important; }
.dg-header .wp-block-navigation a { color: #C9DCDD; text-decoration: none; font-weight: 500; }
.dg-header .wp-block-navigation a:hover { color: #fff; }
.dg-header .wp-block-navigation__responsive-container-open { color: #fff; }

/* Przyciski */
.wp-block-button__link { border-radius: 999px !important; min-height: 48px; display: inline-flex !important; align-items: center; padding: 0 28px !important; font-weight: 600; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1.5px solid #4E7A80 !important; }
.dg-light .wp-block-button.is-style-outline .wp-block-button__link { color: var(--dg-ink) !important; border-color: var(--dg-ink) !important; }

/* Hero */
.dg-hero { padding-top: 48px; padding-bottom: 96px; margin: 0 !important; }
.dg-hero .wp-block-columns { align-items: center !important; gap: 56px; }
.dg-hero h1 { font-size: clamp(2.6rem, 6vw, 4.2rem) !important; line-height: 1.02 !important; letter-spacing: -.03em; margin: 0 0 24px !important; }

/* Miejsca na zdjęcia */
.dg-photo { background: var(--dg-mist); border-radius: 24px; display: flex; align-items: center; justify-content: center; padding: 32px; box-sizing: border-box; min-height: 260px; text-align: center; overflow: hidden; }
.dg-photo p { color: #2E5960 !important; font-size: 15px !important; max-width: 300px; margin: 0 !important; }
.dg-photo.dg-tall { min-height: 520px; background: #0E4653; }
.dg-photo.dg-tall p { color: #9FC2C6 !important; }
.dg-deep .dg-photo { background: #12505D; }
.dg-deep .dg-photo p { color: #A9CBCF !important; }
.dg-photo img, .wp-block-image.dg-img img { border-radius: 24px; width: 100%; height: auto; display: block; }

/* Wyróżniki */
.dg-features { background: #fff; border-radius: 24px; padding: 36px !important; margin-top: -48px !important; box-shadow: 0 12px 40px rgba(6,32,43,.10); position: relative; }
.dg-features h3 { font-size: 20px !important; margin: 0 0 4px !important; }
.dg-features p { color: var(--dg-muted); margin: 0 !important; }

/* Karty wyjazdów */
.dg-cards { gap: 28px; }
.dg-card { background: #fff; border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; }
.dg-card > * { margin: 0 !important; }
.dg-card .dg-photo { border-radius: 0; min-height: 220px; }
.dg-card-body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 8px; }
.dg-card-body > * { margin: 0 !important; }
.dg-card h3 { font-size: 24px !important; line-height: 1.15; }
.dg-meta { color: var(--dg-muted); }
.dg-small { font-size: 15px !important; }
.dg-price { font-weight: 600; font-size: 19px !important; padding-top: 14px; border-top: 1px solid #E1EAEA; }
.dg-tag { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--dg-abyss); color: #fff !important; font-size: 13px !important; font-weight: 600; }
.dg-head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 40px !important; }
.dg-head-row > * { margin: 0 !important; }

/* Lista z ptaszkami */
.dg-checks { list-style: none; padding: 0 !important; margin: 0 0 24px !important; }
.dg-checks li { padding-left: 34px; position: relative; margin-bottom: 12px; color: #E6F1F1; }
.dg-checks li::before { content: ""; position: absolute; left: 4px; top: 6px; width: 12px; height: 7px; border-left: 2.5px solid var(--dg-sun); border-bottom: 2.5px solid var(--dg-sun); transform: rotate(-45deg); }

/* Kroki */
.dg-step { border-top: 2px solid var(--dg-abyss); padding-top: 22px; }
.dg-step-num { font-family: var(--dg-display); font-weight: 800; font-size: 40px !important; color: var(--dg-sea); margin: 0 0 8px !important; line-height: 1; }
.dg-step h3 { font-size: 24px !important; margin: 0 0 8px !important; }
.dg-step p { color: var(--dg-muted); }

/* O mnie */
.dg-about-section { padding-bottom: 104px; }
.dg-about { background: #fff; border-radius: 28px; padding: 48px !important; }
.dg-about .wp-block-columns { align-items: center !important; gap: 48px; }
.dg-about .dg-photo { min-height: 360px; }

/* Kontakt */
.dg-center { text-align: center; max-width: 760px; }
.dg-center .wp-block-buttons { justify-content: center; }
.dg-center a { color: #fff; }

/* Stopka */
.dg-footer { background: #041820; color: #8FAFB3; padding-top: 36px; padding-bottom: 36px; margin: 0 !important; font-size: 15px; }
.dg-footer-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.dg-footer-row > * { margin: 0 !important; }
.dg-footer p { color: #8FAFB3; }
.dg-footer a { color: #C9DCDD; }
.dg-footer .dg-logo { font-size: 20px !important; }

/* Zwykłe podstrony */
.dg-page { padding-top: 72px; padding-bottom: 96px; max-width: 760px; }

@media (max-width: 781px) {
	.dg-section { padding-top: 72px; padding-bottom: 72px; }
	.dg-about { padding: 28px !important; }
	.dg-photo.dg-tall { min-height: 360px; }
}

/* Poprawki */
.wp-site-blocks > * { margin-block-start: 0 !important; }
.dg-header .wp-block-navigation { color: #C9DCDD; }
.dg-header .wp-block-navigation a, .dg-header .wp-block-navigation .wp-block-navigation-item__content { color: #C9DCDD !important; }
.dg-header .wp-block-navigation a:hover { color: #fff !important; }

/* Przełącznik języka */
.dg-header .dg-lang, .dg-header .wp-block-polylang-language-switcher { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.dg-header ul.dg-lang, .dg-header .dg-lang ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.dg-header .dg-lang li { margin: 0; }
.dg-header .dg-lang a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1.5px solid #3D6A71; border-radius: 999px; color: #C9DCDD !important; text-decoration: none; text-transform: uppercase; font-size: 14px; font-weight: 600; }
.dg-header .dg-lang .current-lang a { background: #E6F1F1; color: #06202B !important; border-color: #E6F1F1; }
.dg-main .entry-content > *, .dg-main .wp-block-post-content > * { margin-block-start: 0; }

.dg-header > *, .dg-footer > *, .dg-main > *, .wp-block-post-content > * { margin-block-start: 0 !important; }

/* Podstrony tekstowe */
.dg-page h1.wp-block-post-title { font-size: clamp(2.2rem, 5vw, 3.2rem) !important; margin: 0 0 32px !important; }
.dg-page .wp-block-post-content > * { margin-block-start: 0 !important; margin-block-end: 16px !important; }
.dg-page .wp-block-post-content h2 { font-size: 24px !important; line-height: 1.2; margin-block-start: 40px !important; margin-block-end: 12px !important; }
.dg-page .wp-block-post-content li { margin-bottom: 8px; }
