/*
Theme Name:   White Angel – Hello Elementor Child
Theme URI:    https://whiteangel.com.pl/
Description:  Motyw potomny Hello Elementor dla White Angel Exclusive. Własne style i funkcje umieszczaj tutaj – aktualizacje Hello Elementor ich nie nadpiszą.
Author:       Create24
Author URI:   https://create24.pl/
Template:     hello-elementor
Version:      1.1.1
Requires PHP: 7.4
Text Domain:  hello-elementor-child
License:      GNU General Public License v3 or later
*/

/* ==========================================================================
   Własne style White Angel
   ========================================================================== */

/* Brak poziomego przewijania przy animacjach wjeżdżających z krawędzi ekranu */
html,
body {
	overflow-x: clip;
}

/* ==========================================================================
   Pojedyncza suknia (.wa-dress) – spójna z resztą strony
   ========================================================================== */
.wa-dress-page { background: #F1EEE9; }
.wa-dress { --wa-dark:#070606; --wa-cream:#F1EEE9; --wa-sand:#E8E1D7; --wa-gold:#7F694F; --wa-gold-l:#C8B294; --wa-text:#706D6D;
	font-family: "Work Sans", sans-serif; color: var(--wa-text); max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.wa-dress a { text-decoration: none !important; }
.wa-dress p { margin: 0; }
.wa-d-wrap { max-width: 1320px; margin: 0 auto; }

/* typografia */
.wa-d-script { font-family: "Pinyon Script", cursive; font-size: 44px; line-height: 1.1; color: var(--wa-gold); margin: 0 0 6px !important; }
.wa-d-script--l { color: var(--wa-gold-l); }
.wa-d-title, .wa-d-h2 { font-family: "Instrument Serif", serif; font-weight: 400; line-height: .95; letter-spacing: -2px; word-spacing: .1em; margin: 0; }
.wa-d-title { font-size: 130px; color: var(--wa-cream); }
.wa-d-title--it { font-style: italic; color: var(--wa-gold-l); }
.wa-d-h2 { font-size: 88px; color: var(--wa-dark); }
.wa-d-h2.wa-d-title--it { color: var(--wa-gold); }
.wa-d-h2--xl { font-size: 88px; }
.wa-d-light { color: var(--wa-cream) !important; }
.wa-d-goldl { color: var(--wa-gold-l) !important; }

/* nagłówek */
.wa-d-hero { background: linear-gradient(180deg, #1a1715 0%, #070606 100%); padding: 150px 56px 90px; overflow: hidden; }
.wa-d-crumbs { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 500; color: #B9B2A8; margin-bottom: 40px; display: flex; flex-wrap: wrap; gap: 10px; }
.wa-d-crumbs a { color: #B9B2A8; transition: color .3s; }
.wa-d-crumbs a:hover { color: var(--wa-gold-l); }
.wa-d-crumbs em { font-style: normal; color: var(--wa-gold-l); }
.wa-d-hero .wa-d-script { color: var(--wa-gold-l); }

/* zdjęcie + opis */
.wa-d-intro { padding: 110px 48px; }
.wa-d-split { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.wa-d-main a, .wa-d-main img { display: block; width: 100%; }
.wa-d-main img { height: 780px; object-fit: cover; object-position: center top; transition: transform 1.2s cubic-bezier(.16,1,.3,1); }
.wa-d-main { overflow: hidden; }
.wa-d-main:hover img { transform: scale(1.03); }
.wa-d-info .wa-d-h2 { margin-bottom: 30px; }
.wa-d-text p { font-size: 16px; line-height: 1.85; margin-bottom: 18px; }
.wa-d-text strong { color: var(--wa-dark); font-weight: 500; }
.wa-d-list { list-style: none; margin: 18px 0 40px; padding: 0; }
.wa-d-list li { border-top: 1px solid rgba(127,105,79,.35); padding: 18px 0; display: flex; gap: 22px; align-items: baseline; font-size: 15px; color: var(--wa-dark); }
.wa-d-list li:last-child { border-bottom: 1px solid rgba(127,105,79,.35); }
.wa-d-list span { font-family: "Instrument Serif", serif; font-style: italic; font-size: 22px; color: var(--wa-gold); }
.wa-d-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.wa-d-btn { display: inline-block; background: var(--wa-dark); color: var(--wa-cream) !important; padding: 18px 34px; font-size: 12px; font-weight: 500; letter-spacing: 2.5px; text-transform: uppercase; border: 1px solid var(--wa-dark); transition: background .35s, color .35s, border-color .35s; }
.wa-d-btn:hover { background: var(--wa-gold); border-color: var(--wa-gold); }
.wa-d-btn--line { background: transparent; color: var(--wa-dark) !important; }
.wa-d-btn--line:hover { color: var(--wa-cream) !important; }
.wa-d-btn--cream { background: var(--wa-cream); color: var(--wa-dark) !important; border-color: var(--wa-cream); margin-top: 30px; }
.wa-d-btn--cream:hover { color: var(--wa-cream) !important; }

/* galeria */
.wa-d-gallery { background: var(--wa-sand); padding: 110px 48px 120px; overflow: hidden; }
.wa-d-head { margin-bottom: 60px; }
.wa-d-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.wa-d-item { display: block; overflow: hidden; }
.wa-d-grid--n1 { grid-template-columns: minmax(0, 560px); }
.wa-d-grid--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; }
.wa-d-item img { display: block; width: 100%; aspect-ratio: 3 / 4; height: auto; object-fit: cover; object-position: center top; transition: transform 1.2s cubic-bezier(.16,1,.3,1), filter .6s; }
.wa-d-item:hover img { transform: scale(1.04); filter: brightness(.92); }

/* poprzednia / następna */
.wa-d-nav { padding: 60px 48px; border-top: 1px solid rgba(127,105,79,.25); }
.wa-d-navrow { display: grid; grid-template-columns: 1fr auto 1fr; gap: 30px; align-items: center; }
.wa-d-navcell a { display: inline-flex; flex-direction: column; gap: 8px; }
.wa-d-navcell--r { text-align: right; }
.wa-d-navcell--r a { align-items: flex-end; }
.wa-d-navcell small { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 500; color: var(--wa-gold); }
.wa-d-navcell span { font-family: "Instrument Serif", serif; font-size: 40px; line-height: 1; color: var(--wa-dark); transition: color .3s; }
.wa-d-navcell a:hover span { color: var(--wa-gold); }
.wa-d-all { font-size: 12px; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 500; color: var(--wa-dark) !important; border-bottom: 1px solid var(--wa-gold); padding-bottom: 6px; }

/* kontakt */
.wa-d-cta { background: var(--wa-dark); padding: 130px 48px; overflow: hidden; }
.wa-d-ctarow { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.wa-d-contact { display: flex; flex-direction: column; gap: 10px; max-width: 38%; }
.wa-d-contact small { font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; font-weight: 500; color: var(--wa-gold-l); }
.wa-d-phone { font-family: "Instrument Serif", serif; font-size: 52px; line-height: 1; color: var(--wa-cream) !important; letter-spacing: -1px; }
.wa-d-mail { font-family: "Instrument Serif", serif; font-style: italic; font-size: 30px; line-height: 1.2; color: var(--wa-cream) !important; }
.wa-d-contact p { font-size: 15px; line-height: 1.85; color: #B9B2A8; }

/* animacje wejścia */
body:not(.elementor-editor-active) .wa-dress .wa-load-l { animation: waInL 1.8s cubic-bezier(.16,1,.3,1) .15s both; }
body:not(.elementor-editor-active) .wa-dress .wa-load-r { animation: waInR 1.8s cubic-bezier(.16,1,.3,1) .35s both; }
body:not(.elementor-editor-active) .wa-dress .wa-load-f { animation: waFade 1.6s ease .9s both; }
@keyframes waInL { from { transform: translateX(-100vw); } to { transform: none; } }
@keyframes waInR { from { transform: translateX(100vw); } to { transform: none; } }
@keyframes waFade { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .wa-dress .wa-load-l, .wa-dress .wa-load-r, .wa-dress .wa-load-f { animation: none !important; } }

/* tablet */
@media (max-width: 1024px) {
	.wa-d-hero { padding: 80px 28px 64px; }
	.wa-d-title { font-size: 96px; }
	.wa-d-h2, .wa-d-h2--xl { font-size: 68px; }
	.wa-d-intro, .wa-d-gallery, .wa-d-cta { padding: 80px 24px; }
	.wa-d-nav { padding: 50px 24px; }
	.wa-d-split { grid-template-columns: 1fr; gap: 50px; }
	.wa-d-main img { height: 680px; }
	.wa-d-grid { grid-template-columns: repeat(2, 1fr); }
	.wa-d-ctarow { flex-direction: column; align-items: flex-start; }
	.wa-d-contact { max-width: none; }
}
/* telefon */
@media (max-width: 767px) {
	.wa-d-hero { padding: 56px 18px 48px; }
	.wa-d-crumbs { margin-bottom: 28px; }
	.wa-d-script { font-size: 34px; }
	.wa-d-title { font-size: 58px; }
	.wa-d-h2, .wa-d-h2--xl { font-size: 46px; }
	.wa-d-intro, .wa-d-gallery, .wa-d-cta { padding: 64px 18px; }
	.wa-d-nav { padding: 40px 18px; }
	.wa-d-main img { height: 520px; }
	.wa-d-grid { gap: 12px; }
	.wa-d-navrow { grid-template-columns: 1fr 1fr; }
	.wa-d-all { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
	.wa-d-navcell span { font-size: 28px; }
	.wa-d-phone { font-size: 40px; }
	.wa-d-mail { font-size: 24px; }
}

/* ==========================================================================
   Nagłówek – laptopy i mniejsze ekrany (menu w jednej linii)
   ========================================================================== */
@media (min-width: 1025px) {
	body .elementor-1401 .jkit-menu > li > a { white-space: nowrap !important; }
	body .elementor-1401 .jkit-menu { flex-wrap: nowrap !important; }
	body .elementor-1401 .elementor-element-697a2a59 { flex: 0 0 clamp(150px, 15vw, 240px) !important; width: auto !important; max-width: none !important; }
	body .elementor-1401 .elementor-element-7b073111 { flex: 1 1 auto !important; width: auto !important; min-width: 0; max-width: none !important; }
	body .elementor-1401 .elementor-element-372ec93c { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
}
@media (min-width: 1025px) and (max-width: 1439px) {
	body .elementor-1401 .jkit-menu > li { margin: 0 9px !important; }
	body .elementor-1401 .jkit-menu > li > a { letter-spacing: 1.8px !important; font-size: 11px !important; }
	body .elementor-1401 .wa-hsep { display: none; }
	body .elementor-1401 .wa-hbar { gap: 16px; }
	body .elementor-1401 .wa-hphone__num { font-size: 23px; }
	body .elementor-1401 .wa-hphone__lbl { font-size: 8.5px; letter-spacing: 1.8px; }
}
@media (min-width: 1025px) and (max-width: 1199px) {
	body .elementor-1401 .jkit-menu > li { margin: 0 6px !important; }
	body .elementor-1401 .jkit-menu > li > a { letter-spacing: 1.2px !important; font-size: 10.5px !important; }
	body .elementor-1401 .wa-hphone__lbl { display: none; }
	body .elementor-1401 .wa-hsoc { gap: 6px; }
}

/* tytuł sukni – wyższa specyficzność niż style motywu dla h1 */
body.wa-dress-page .wa-dress .wa-d-title { font-family: "Instrument Serif", serif; font-weight: 400; font-size: 130px; line-height: .95; letter-spacing: -2px; margin: 0; }
@media (max-width: 1024px) { body.wa-dress-page .wa-dress .wa-d-title { font-size: 96px; } }
@media (max-width: 767px) { body.wa-dress-page .wa-dress .wa-d-title { font-size: 58px; } }

/* Nagłówki podstron ze zdjęciem – pełna siła przyciemnienia, żeby tekst był czytelny */
.elementor-30 > .e-con:first-child, .elementor-39 > .e-con:first-child, .elementor-545 > .e-con:first-child, .elementor-619 > .e-con:first-child, .elementor-1536 > .e-con:first-child { --overlay-opacity: 1; }

/* ==========================================================================
   Nagłówek – tablet i telefon (zwinięte menu): większe, wyraźniejsze logo
   ========================================================================== */
@media (max-width: 1024px) {
	body .elementor-1401 .elementor-element-5635bd90 { flex-wrap: nowrap !important; align-items: center !important; }
	body .elementor-1401 .elementor-element-697a2a59 { flex: 0 1 auto !important; width: auto !important; max-width: none !important; justify-content: center; }
	body .elementor-1401 .elementor-element-7b073111 { flex: 0 0 auto !important; width: auto !important; margin-left: auto; }
	body .elementor-1401 .elementor-element-1cbfcc img { width: 215px !important; max-width: 100% !important; height: auto !important; }
}
@media (max-width: 767px) {
	body .elementor-1401 .elementor-element-1cbfcc img { width: 178px !important; }
}

/* Powiększenie zdjęć (lightbox Elementora) – bez nazwy pliku jako tytułu */
.elementor-lightbox .elementor-slideshow__title { display: none !important; }
.elementor-lightbox .elementor-slideshow__footer:not(:has(.elementor-slideshow__description:not(:empty))) { background: transparent !important; }

/* ==========================================================================
   Listy „Targi i pokazy” oraz „My w mediach” (shortcody [wa_targi], [wa_media])
   ========================================================================== */
.wa-ev-list { display: grid; gap: 28px; font-family: "Work Sans", sans-serif; }
.wa-ev-list--past, .wa-ev-list--media { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; }
.wa-ev { display: flex; flex-direction: column; background: #fff; overflow: hidden; }
.wa-ev a { text-decoration: none !important; }
.wa-ev__img { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: #070606; }
.wa-ev__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 1.2s cubic-bezier(.16,1,.3,1); }
.wa-ev:hover .wa-ev__img img { transform: scale(1.04); }
.wa-ev__ph { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	background: radial-gradient(circle at 30% 20%, #2a2420 0%, #070606 70%); color: #C8B294; }
.wa-ev__ph em { font-family: "Pinyon Script", cursive; font-style: normal; font-size: 34px; line-height: 1; }
.wa-ev__ph b { font-family: "Instrument Serif", serif; font-weight: 400; font-size: 64px; line-height: 1; color: #F1EEE9; letter-spacing: -1px; }
.wa-ev__body { display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 30px; flex: 1; }
.wa-ev__date { margin: 0; font-size: 11px; font-weight: 500; letter-spacing: 2.2px; text-transform: uppercase; color: #7F694F; }
.wa-ev__date span { opacity: .6; margin: 0 2px; }
.wa-ev__title { margin: 0; font-family: "Instrument Serif", serif; font-weight: 400; font-size: 30px; line-height: 1.1; letter-spacing: -.3px; color: #070606; }
.wa-ev__place { margin: 0; font-size: 14px; color: #070606; }
.wa-ev__txt { margin: 0; font-size: 15px; line-height: 1.75; color: #706D6D; }
.wa-ev__link { margin-top: auto; padding-top: 8px; align-self: flex-start; font-size: 11px; font-weight: 500; letter-spacing: 2.4px; text-transform: uppercase; color: #070606 !important; border-bottom: 1px solid #7F694F; padding-bottom: 4px; transition: color .3s; }
.wa-ev__link:hover { color: #7F694F !important; }

/* najbliższe wydarzenie – duża karta */
.wa-ev--next { display: grid; grid-template-columns: 1.1fr 1fr; background: #070606; }
.wa-ev--next .wa-ev__img { aspect-ratio: auto; min-height: 420px; }
.wa-ev--next .wa-ev__body { padding: 48px 48px 52px; gap: 14px; justify-content: center; }
.wa-ev--next .wa-ev__date { font-size: 13px; color: #C8B294; }
.wa-ev--next .wa-ev__title { font-size: 52px; color: #F1EEE9; }
.wa-ev--next .wa-ev__place { font-size: 16px; color: #F1EEE9; }
.wa-ev--next .wa-ev__txt { color: #CFC8BE; font-size: 16px; }
.wa-ev--next .wa-ev__link { color: #070606 !important; background: #F1EEE9; border: 0; padding: 17px 30px; margin-top: 14px; transition: background .35s; }
.wa-ev--next .wa-ev__link:hover { background: #C8B294; color: #070606 !important; }
.wa-ev-empty { font-family: "Work Sans", sans-serif; font-size: 16px; line-height: 1.8; color: #706D6D; margin: 0; }

@media (max-width: 1024px) {
	.wa-ev-list--past, .wa-ev-list--media { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
	.wa-ev--next { grid-template-columns: 1fr; }
	.wa-ev--next .wa-ev__img { min-height: 0; aspect-ratio: 16 / 9; }
	.wa-ev--next .wa-ev__body { padding: 36px 32px 40px; }
	.wa-ev--next .wa-ev__title { font-size: 42px; }
}
@media (max-width: 767px) {
	.wa-ev-list--past, .wa-ev-list--media { grid-template-columns: 1fr; gap: 24px; }
	.wa-ev__body { padding: 22px 20px 26px; }
	.wa-ev__title { font-size: 26px; }
	.wa-ev--next .wa-ev__body { padding: 28px 20px 32px; }
	.wa-ev--next .wa-ev__title { font-size: 34px; }
}

/* tytuły kart – stały rozmiar (nadpisuje duże h3 z ustawień motywu) */
.wa-ev-list .wa-ev h3.wa-ev__title { font-size: 2.5rem; line-height: 1.08; }
@media (max-width: 767px) { .wa-ev-list .wa-ev h3.wa-ev__title { font-size: 2rem; } }
.wa-ev__imglink { position: absolute; inset: 0; display: block; }
.wa-ev__imglink img { width: 100%; height: 100%; }
.wa-ev__imglink:hover + *, .wa-ev__imglink:hover img { transform: scale(1.04); }

/* ==========================================================================
   Formularz kontaktowy – proponowane terminy spotkania (2 warianty)
   ========================================================================== */
.wa-form .wa-cf-slots { margin: 26px 0 8px; padding: 22px 0 6px; border-top: 1px solid rgba(127,105,79,.3); }
.wa-form .wa-cf-legend { margin: 0 0 6px; font-family: "Instrument Serif", serif; font-size: 26px; line-height: 1.15; color: #070606; }
.wa-form .wa-cf-legend span { font-style: italic; font-size: 18px; color: #7F694F; }
.wa-form .wa-cf-note { margin: 0 0 6px; font-family: "Work Sans", sans-serif; font-size: 13px; line-height: 1.7; color: #706D6D; }
.wa-form .wa-cf-slot { display: grid; grid-template-columns: 92px minmax(0,1fr) minmax(0,1fr); gap: 0 24px; align-items: end; }
.wa-form .wa-cf-slot__n { padding-bottom: 15px; font-family: "Work Sans", sans-serif; font-size: 10.5px; font-weight: 500; letter-spacing: 2.2px; text-transform: uppercase; color: #7F694F; }
.wa-form .wa-cf-slot .wpcf7-form-control-wrap { display: block; }
.wa-form input[type=date], .wa-form select { width: 100%; background: transparent !important; border: 0 !important; border-bottom: 1px solid rgba(7,6,6,.22) !important; border-radius: 0 !important; padding: 16px 0 12px !important; font-family: "Work Sans", sans-serif; font-size: 15px; color: #070606; box-shadow: none !important; min-height: 50px; transition: border-color .3s; }
.wa-form select { -webkit-appearance: none; appearance: none; padding-right: 22px !important; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237F694F' stroke-width='1.3'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 4px center !important; }
.wa-form input[type=date]:focus, .wa-form select:focus { outline: none; border-bottom-color: #7F694F !important; }
.wa-form input[type=date]::-webkit-calendar-picker-indicator { opacity: .55; cursor: pointer; }
@media (max-width: 767px) {
	.wa-form .wa-cf-slot { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 16px; margin-top: 10px; }
	.wa-form .wa-cf-slot__n { grid-column: 1 / -1; padding: 10px 0 0; }
}

.wa-form .wa-cf-slot > p { display: contents; margin: 0; }
.wa-form .wa-cf-slot br { display: none; }

/* Formularz – planowana data ślubu: kalendarz + szybkie przeskoki */
.wa-form .wa-cf-wed { margin-top: 14px; }
.wa-form .wa-cf-wed > p { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 24px; margin: 0; }
.wa-form .wa-cf-wed__l { flex: 0 0 100%; margin-bottom: -6px; font-family: "Work Sans", sans-serif; font-size: 10.5px; font-weight: 500; letter-spacing: 2.2px; text-transform: uppercase; color: #7F694F; }
.wa-form .wa-cf-wed__l em { font-style: normal; text-transform: none; letter-spacing: 0; color: #8a8580; font-size: 12px; }
.wa-form .wa-cf-wed .wpcf7-form-control-wrap { flex: 1 1 220px; max-width: 320px; }
.wa-form .wa-cf-jump { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-bottom: 10px; }
.wa-form .wa-cf-jump__l { font-family: "Work Sans", sans-serif; font-size: 12px; color: #706D6D; margin-right: 2px; }
.wa-form .wa-cf-jump button { appearance: none; background: transparent !important; color: #070606 !important; border: 1px solid rgba(127,105,79,.55) !important; border-radius: 0 !important; padding: 8px 14px !important; font-family: "Work Sans", sans-serif !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 1.6px !important; text-transform: uppercase !important; line-height: 1 !important; cursor: pointer; box-shadow: none !important; transition: background .3s, color .3s, border-color .3s; }
.wa-form .wa-cf-jump button:hover, .wa-form .wa-cf-jump button:focus-visible { background: #070606 !important; color: #F1EEE9 !important; border-color: #070606 !important; outline: none; }
@media (max-width: 767px) { .wa-form .wa-cf-wed .wpcf7-form-control-wrap { max-width: none; flex-basis: 100%; } .wa-form .wa-cf-jump { padding-bottom: 0; } }

.wa-form .wa-cf-jump button.is-active { background: #7F694F !important; color: #F1EEE9 !important; border-color: #7F694F !important; }

@media (max-width: 767px) { .wa-form .wa-cf-jump__l { flex-basis: 100%; } .wa-form .wa-cf-jump button { padding: 8px 12px !important; } }

/* skoki – telefon */
@media (max-width: 767px) { .wa-form .wa-cf-jump { gap: 6px; } .wa-form .wa-cf-jump button { padding: 8px 9px !important; letter-spacing: .8px !important; font-size: 10.5px !important; } }

/* My w mediach – zdjęcie w nagłówku zaczyna się pod paskiem menu (nie chowa się pod nim) */
.elementor-619 > .e-con:first-child { margin-top: 100px !important; --padding-top: 48px !important; }

.wa-form .wa-cf-slot__hint { grid-column: 1 / -1; margin: 6px 0 4px; font-family: "Work Sans", sans-serif; font-size: 12px; color: #7F694F; }
@media (min-width: 768px) { .wa-form .wa-cf-slot__hint { grid-column: 2 / -1; } }

/* ==========================================================================
   Telefon – poprawki (do 767 px)
   ========================================================================== */
@media (max-width: 767px) {
	/* bez efektu wjeżdżania napisów z boków – elementy są jeden pod drugim */
	.wa-edge-l, .wa-edge-r, .wa-dress .wa-edge-l, .wa-dress .wa-edge-r { transform: none !important; opacity: 1 !important; }

	/* slider na stronie głównej – 1. slajd skadrowany na stojącą modelkę */
	.elementor-element-f7e729d .elementor-background-slideshow__slide[data-swiper-slide-index="0"] .elementor-background-slideshow__slide__image { background-position: 55% center !important; }

	/* sekcja filmowa: tekst → główny film (w całości) → dwa kolejne filmy */
	.elementor-element-786a997 { display: contents !important; }
	.elementor-element-d0b0224 > .e-con-inner { row-gap: 18px; }
	.elementor-element-df4f1d8 { order: 1; flex-shrink: 0 !important; height: auto !important; margin: 10px 0 18px; }
	.elementor-element-df4f1d8 .elementor-element-7ed4bac { height: auto !important; }
	.elementor-element-d22f71a { order: 2; }

	/* stopka – krótkie nazwy kanałów */
	.wa-hide-m { display: none; }
}

/* film – wysokość na telefonie */
@media (max-width: 767px) { .elementor-element-7ed4bac .wa-vcard { aspect-ratio: auto !important; height: calc(min(100vw - 36px, 380px) * 16 / 9); } }

/* ==========================================================================
   Menu mobilne (tablet i telefon) – pełnoekranowy, ciemny panel w stylu strony
   ========================================================================== */
@media (max-width: 1024px) {
	/* panel nad paskiem z telefonem (wcześniej pasek zasłaniał przycisk zamknięcia) */
	body .elementor-1401 .elementor-element-5635bd90:has(.jkit-menu-wrapper.active) { z-index: 100000 !important; }
	body .elementor-1401 .jkit-menu-wrapper { width: 100vw !important; max-width: 100vw !important; height: 100vh !important; height: 100dvh !important; top: 0 !important;
		background: radial-gradient(120% 80% at 100% 0%, #2a2420 0%, #070606 60%) !important; display: flex !important; flex-direction: column; padding: 0 28px 34px !important; box-sizing: border-box; overflow-y: auto; flex-direction: column !important; }
	body.admin-bar .elementor-1401 .jkit-menu-wrapper { top: var(--wp-admin--admin-bar--height, 46px) !important; height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px)) !important; }
	body .elementor-1401 .jkit-overlay { background: rgba(7,6,6,.6) !important; }

	/* górny pasek panelu: napis + przycisk zamknięcia (niżej, w całości widoczny) */
	body .elementor-1401 .jkit-nav-identity-panel { order: -1; display: flex !important; align-items: center; justify-content: space-between; padding: 26px 0 18px !important; margin: 0 0 8px; border-bottom: 1px solid rgba(200,178,148,.22); background: transparent !important; }
	body .elementor-1401 .jkit-nav-identity-panel::before { content: "White Angel"; font-family: "Pinyon Script", cursive; font-size: 34px; line-height: 1; color: #C8B294; }
	body .elementor-1401 .jkit-close-menu { position: static !important; width: 46px !important; height: 46px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; border: 1px solid rgba(200,178,148,.55) !important; border-radius: 50% !important; background: transparent !important; display: grid !important; place-items: center; color: #F1EEE9 !important; box-shadow: none !important; transition: transform .6s cubic-bezier(.16,1,.3,1), border-color .3s; }
	body .elementor-1401 .jkit-close-menu svg { width: 15px !important; height: 15px !important; fill: #F1EEE9 !important; }
	body .elementor-1401 .jkit-close-menu:hover, body .elementor-1401 .jkit-close-menu:focus-visible { transform: rotate(180deg); border-color: #C8B294 !important; }

	/* pozycje menu – duża, elegancka typografia */
	body .elementor-1401 .jkit-menu-container { width: 100%; }
	body .elementor-1401 .jkit-menu-wrapper .jkit-menu { display: block !important; padding: 0 !important; margin: 0 !important; }
	body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li { border-bottom: 1px solid rgba(200,178,148,.16); margin: 0 !important; }
	body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li > a { font-family: "Instrument Serif", serif !important; font-size: 34px !important; font-weight: 400 !important; line-height: 1.1 !important; letter-spacing: -.3px !important; text-transform: none !important; color: #F1EEE9 !important; background: transparent !important; padding: 18px 0 !important; display: flex !important; justify-content: space-between; align-items: center; transition: color .3s, padding-left .45s cubic-bezier(.16,1,.3,1); }
	body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li > a:hover, body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li.current-menu-item > a, body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li.current-menu-ancestor > a { color: #C8B294 !important; padding-left: 8px !important; }
	body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li > a i, body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li > a svg { color: #C8B294 !important; fill: #C8B294 !important; font-size: 14px !important; width: 14px; }
	body .elementor-1401 .jkit-menu-wrapper .sub-menu { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 10px 0 18px 2px !important; }
	body .elementor-1401 .jkit-menu-wrapper .sub-menu li + li { margin-top: 6px !important; }
	body .elementor-1401 .jkit-menu-wrapper .sub-menu a { font-family: "Work Sans", sans-serif !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 2.2px !important; text-transform: uppercase !important; color: #CFC8BE !important; background: transparent !important; padding: 10px 0 10px 16px !important; border-left: 1px solid rgba(200,178,148,.35); }
	body .elementor-1401 .jkit-menu-wrapper .sub-menu a:hover, body .elementor-1401 .jkit-menu-wrapper .sub-menu .current-menu-item > a { color: #C8B294 !important; }

	/* łagodne wejście kolejnych pozycji */
	body .elementor-1401 .jkit-menu-wrapper.active .jkit-menu > li, body .elementor-1401 .jkit-menu-wrapper.active .wa-mm-extra { animation: waMmIn .7s cubic-bezier(.16,1,.3,1) both; }
	body .elementor-1401 .jkit-menu-wrapper.active .jkit-menu > li:nth-child(1) { animation-delay: .12s; }
	body .elementor-1401 .jkit-menu-wrapper.active .jkit-menu > li:nth-child(2) { animation-delay: .18s; }
	body .elementor-1401 .jkit-menu-wrapper.active .jkit-menu > li:nth-child(3) { animation-delay: .24s; }
	body .elementor-1401 .jkit-menu-wrapper.active .jkit-menu > li:nth-child(4) { animation-delay: .30s; }
	body .elementor-1401 .jkit-menu-wrapper.active .jkit-menu > li:nth-child(5) { animation-delay: .36s; }
	body .elementor-1401 .jkit-menu-wrapper.active .jkit-menu > li:nth-child(6) { animation-delay: .42s; }
	body .elementor-1401 .jkit-menu-wrapper.active .wa-mm-extra { animation-delay: .5s; }
	@keyframes waMmIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

	/* dół panelu: kontakt */
	.wa-mm-extra { margin-top: auto; padding-top: 34px; display: flex; flex-direction: column; gap: 10px; font-family: "Work Sans", sans-serif; }
	.wa-mm-extra__lbl { font-size: 10.5px; font-weight: 500; letter-spacing: 2.4px; text-transform: uppercase; color: #C8B294; }
	.wa-mm-extra a { text-decoration: none !important; }
	.wa-mm-extra__tel { font-family: "Instrument Serif", serif; font-size: 40px; line-height: 1; color: #F1EEE9 !important; }
	.wa-mm-extra__mail { font-family: "Instrument Serif", serif; font-style: italic; font-size: 22px; color: #F1EEE9 !important; }
	.wa-mm-extra__addr { font-size: 13px; line-height: 1.6; color: #B9B2A8; margin: 2px 0 6px; }
	.wa-mm-extra__row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
	.wa-mm-extra__btn { display: inline-block; background: #F1EEE9; color: #070606 !important; padding: 16px 26px; font-size: 11px; font-weight: 500; letter-spacing: 2.4px; text-transform: uppercase; }
	.wa-mm-extra__soc { width: 44px; height: 44px; border: 1px solid rgba(200,178,148,.5); border-radius: 50%; display: grid; place-items: center; color: #C8B294 !important; }
	.wa-mm-extra__soc svg { height: 17px; width: auto; fill: currentColor; }
}

@media (max-width: 1024px) {
	body .elementor-1401 .jkit-menu-wrapper .jkit-menu-container { height: auto !important; max-height: none !important; overflow: visible !important; flex: 0 0 auto !important; }
	body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li > a { font-size: 30px !important; padding: 15px 0 !important; }
	.wa-mm-extra { padding-top: 28px; }
	.wa-mm-extra__row { gap: 10px; }
	.wa-mm-extra__btn { flex: 1 1 100%; text-align: center; }
}

@media (max-width: 1024px) {
	body .elementor-1401 .jkit-menu-wrapper { justify-content: flex-start !important; align-items: stretch !important; }
	body .elementor-1401 .jkit-nav-identity-panel { flex: 0 0 auto; }
	body .elementor-1401 .jkit-menu-wrapper .jkit-menu > li > a { font-size: 26px !important; padding: 13px 0 !important; }
	.wa-mm-extra__tel { font-size: 34px; }
	.wa-mm-extra__mail { font-size: 20px; }
}

/* ==========================================================================
   Przycisk „do góry”
   ========================================================================== */
.wa-totop { position: fixed; right: 26px; bottom: 26px; z-index: 900; width: 52px; height: 52px; padding: 0 !important; border-radius: 50% !important;
	background: #070606 !important; border: 1px solid rgba(200,178,148,.6) !important; color: #F1EEE9 !important; box-shadow: 0 10px 30px rgba(7,6,6,.25) !important;
	display: grid; place-items: center; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(14px);
	transition: opacity .45s ease, transform .6s cubic-bezier(.16,1,.3,1), visibility .45s, background .3s, border-color .3s; }
.wa-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.wa-totop svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; transition: transform .5s cubic-bezier(.16,1,.3,1); }
.wa-totop:hover, .wa-totop:focus-visible { background: #7F694F !important; border-color: #7F694F !important; color: #F1EEE9 !important; outline: none; }
.wa-totop:hover svg { transform: translateY(-3px); }
@media (max-width: 767px) { .wa-totop { right: 16px; bottom: 16px; width: 46px; height: 46px; } }
@media (prefers-reduced-motion: reduce) { .wa-totop, .wa-totop svg { transition: none; } }

/* blok kontaktowy menu tylko na tablecie/telefonie */
@media (min-width: 1025px) { .wa-mm-extra { display: none !important; } }


/* ==========================================================================
   Złote narożniki ramek + blask za kursorem (inspiracja: whiteangel.com.pl)
   Narożniki dokleja skrypt wa_gold_frames() z functions.php (span.wa-gc).
   ========================================================================== */
@property --wa-gc-len { syntax: '<length>'; inherits: false; initial-value: 26px; }
.wa-card .elementor-widget-image, .wa-frame, .wa-d-main > a, .wa-d-item { position: relative; }
.wa-gc {
	--wa-gc-c: #C8B294;
	--wa-gc-len: 26px;
	position: absolute; inset: 14px; z-index: 3; pointer-events: none;
	background:
		linear-gradient(90deg, var(--wa-gc-c), transparent) left top / var(--wa-gc-len) 1px no-repeat,
		linear-gradient(180deg, var(--wa-gc-c), transparent) left top / 1px var(--wa-gc-len) no-repeat,
		linear-gradient(270deg, var(--wa-gc-c), transparent) right bottom / var(--wa-gc-len) 1px no-repeat,
		linear-gradient(0deg, var(--wa-gc-c), transparent) right bottom / 1px var(--wa-gc-len) no-repeat;
	opacity: .8;
	transition: inset .9s cubic-bezier(.16,1,.3,1), --wa-gc-len .9s cubic-bezier(.16,1,.3,1), opacity .6s ease;
}
/* delikatna, przesuwająca się złota ramka – widoczna po najechaniu */
.wa-gc::before {
	content: ""; position: absolute; inset: 0; padding: 1px; pointer-events: none;
	background: linear-gradient(90deg, transparent 0%, rgba(200,178,148,.75) 30%, rgba(241,238,233,.95) 50%, rgba(200,178,148,.75) 70%, transparent 100%) 0 0 / 300% 100%;
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor; mask-composite: exclude;
	opacity: 0; transition: opacity .8s ease;
	animation: wa-gc-shimmer 7s ease-in-out infinite;
}
@keyframes wa-gc-shimmer { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
.wa-card:hover .wa-gc, .wa-d-main > a:hover .wa-gc, .wa-d-item:hover .wa-gc { inset: 10px; --wa-gc-len: 60px; opacity: 1; }
.wa-card:hover .wa-gc::before, .wa-d-main > a:hover .wa-gc::before, .wa-d-item:hover .wa-gc::before { opacity: .5; }

/* ramka z cytatem (klasa wa-frame w Elementorze) – złote narożniki na krawędzi, treść z oddechem */
.wa-frame { padding: 44px 44px 44px !important; }
.wa-frame > .wa-gc { inset: -1px; opacity: .9; }
.wa-frame:hover > .wa-gc { --wa-gc-len: 70px; opacity: 1; }
.wa-frame:hover > .wa-gc::before { opacity: .55; }
@media (max-width: 767px) { .wa-frame { padding: 30px 22px 26px !important; } }

/* adresy e-mail i telefony w nagłówkach – po najechaniu złote (nie ciemne, bo znikają na czarnym tle) */
.elementor .elementor-heading-title a[href^="mailto:"]:hover, .elementor .elementor-heading-title a[href^="tel:"]:hover, .wa-d-contact a:hover { color: #C8B294 !important; }

/* miękki blask podążający za kursorem (tylko mysz, tylko na ciemnych tłach i zdjęciach) */
#wa-glow {
	position: fixed; inset: 0; z-index: 9990; pointer-events: none; opacity: 0;
	background: radial-gradient(520px circle at var(--wa-mx, 50%) var(--wa-my, 50%), rgba(200,178,148,.16), transparent 70%);
	mix-blend-mode: screen; transition: opacity .6s ease;
}
#wa-glow.is-on { opacity: 1; }
@media (hover: none), (pointer: coarse) { #wa-glow { display: none; } }
@media (max-width: 767px) { .wa-gc { inset: 10px; --wa-gc-len: 20px; } }
@media (prefers-reduced-motion: reduce) {
	#wa-glow { display: none; }
	.wa-gc, .wa-gc::before { transition: none; animation: none; }
}


/* ==========================================================================
   Strzałki w powiększeniu zdjęć (lightbox Elementora)
   Na stronach sukni nie ładuje się arkusz Elementora z pozycją strzałek – stąd własne.
   ========================================================================== */
.elementor-lightbox .elementor-swiper-button {
	position: absolute !important; top: 50% !important; bottom: auto !important; transform: translateY(-50%) !important; z-index: 3;
	display: inline-flex !important; align-items: center; justify-content: center;
	width: 54px !important; height: 54px !important; padding: 0 !important; margin: 0 !important; border-radius: 50% !important; cursor: pointer;
	border: 1px solid rgba(200,178,148,.5) !important; background: rgba(7,6,6,.35) !important;
	transition: background .3s, border-color .3s;
}
.elementor-lightbox .elementor-swiper-button svg { width: 18px !important; height: 18px !important; fill: #F1EEE9 !important; }
.elementor-lightbox .elementor-swiper-button-prev { left: 28px !important; right: auto !important; }
.elementor-lightbox .elementor-swiper-button-next { right: 28px !important; left: auto !important; }
.elementor-lightbox .elementor-swiper-button:hover, .elementor-lightbox .elementor-swiper-button:focus-visible { background: rgba(200,178,148,.18) !important; border-color: #C8B294 !important; outline: none; }
.elementor-lightbox .elementor-swiper-button.swiper-button-disabled { opacity: .3; pointer-events: none; }
@media (max-width: 767px) {
	.elementor-lightbox .elementor-swiper-button { width: 42px !important; height: 42px !important; }
	.elementor-lightbox .elementor-swiper-button svg { width: 15px !important; height: 15px !important; }
	.elementor-lightbox .elementor-swiper-button-prev { left: 10px !important; }
	.elementor-lightbox .elementor-swiper-button-next { right: 10px !important; }
}

/* ==========================================================================
   Slider na stronie głównej (laptopy i komputery): zdjęcie zaczyna się pod
   nagłówkiem, jest przypięte do góry, a powolny zoom rośnie w dół – głowy
   modelek zawsze w kadrze. Wysokość nagłówka (--wa-hero-off) ustawia skrypt.
   ========================================================================== */
@media (min-width: 1025px) {
	.elementor-element-f7e729d > .elementor-background-slideshow { top: var(--wa-hero-off, 0px) !important; height: auto !important; bottom: 0 !important; }
	.elementor-element-f7e729d .elementor-background-slideshow__slide__image { background-position: center top !important; transform-origin: 50% 0 !important; }
}


/* ==========================================================================
   Baner cookies (wa_cookie_banner w functions.php)
   ========================================================================== */
.wa-cc { position: fixed; right: 24px; bottom: 24px; z-index: 99990; width: min(360px, calc(100vw - 48px));
	background: #0d0b0a; color: #CFC8BE; border: 1px solid rgba(200,178,148,.35); box-shadow: 0 24px 60px rgba(0,0,0,.35);
	font-family: "Work Sans", sans-serif; opacity: 0; transform: translateY(16px); transition: opacity .4s ease, transform .5s cubic-bezier(.16,1,.3,1); }
.wa-cc.is-open { opacity: 1; transform: none; }
.wa-cc[hidden] { display: none !important; }
.wa-cc__in { padding: 18px 20px 16px; }
.wa-cc__t { margin: 0 0 6px !important; font-family: "Pinyon Script", cursive; font-size: 24px; line-height: 1; color: #C8B294; }
.wa-cc__txt { margin: 0 0 14px !important; font-size: 12px; line-height: 1.6; color: #CFC8BE; }
.wa-cc__txt a { color: #C8B294 !important; text-decoration: underline !important; text-underline-offset: 3px; }
.wa-cc__txt a:hover { color: #F1EEE9 !important; }
.wa-cc__opts { margin: 0 0 12px; padding: 12px 0 0; border-top: 1px solid rgba(200,178,148,.18); }
.wa-cc__opts[hidden] { display: none !important; }
.wa-cc__opt { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 8px; font-size: 12px; line-height: 1.5; cursor: pointer; }
.wa-cc__opt b { color: #F1EEE9; font-weight: 500; }
.wa-cc__opt input { flex: 0 0 auto; width: 16px; height: 16px; margin: 2px 0 0; accent-color: #7F694F; cursor: pointer; }
.wa-cc__opt input:disabled { cursor: default; opacity: .7; }
.wa-cc__btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.wa-cc__btn { font-family: "Work Sans", sans-serif !important; font-size: 10px !important; font-weight: 500 !important; letter-spacing: 1.6px !important; text-transform: uppercase !important;
	padding: 10px 14px !important; border-radius: 0 !important; border: 1px solid #C8B294 !important; background: #C8B294 !important; color: #070606 !important; cursor: pointer; line-height: 1.2 !important; transition: background .3s, color .3s, border-color .3s; }
.wa-cc__btn:hover, .wa-cc__btn:focus-visible { background: #F1EEE9 !important; border-color: #F1EEE9 !important; outline: none; }
.wa-cc__btn--line { background: transparent !important; color: #F1EEE9 !important; border-color: rgba(200,178,148,.55) !important; }
.wa-cc__btn--line:hover, .wa-cc__btn--line:focus-visible { background: rgba(200,178,148,.12) !important; border-color: #C8B294 !important; color: #F1EEE9 !important; }
.wa-cc__btn:not(.wa-cc__btn--link) { flex: 1 1 0; text-align: center; white-space: nowrap; }
.wa-cc__btn--link { order: 3; flex: 1 1 100%; margin: 0; background: transparent !important; border-color: transparent !important; color: #C8B294 !important; padding: 4px 0 0 !important; text-align: center; }
.wa-cc__btn--link:hover, .wa-cc__btn--link:focus-visible { background: transparent !important; border-color: transparent !important; color: #F1EEE9 !important; }
.wa-cc-link { color: inherit !important; }
.wa-cc-link:hover { color: #C8B294 !important; }
@media (max-width: 767px) {
	.wa-cc { left: 12px; right: 12px; bottom: 12px; width: auto; }
	.wa-cc__in { padding: 16px 16px 14px; }
}
@media (prefers-reduced-motion: reduce) { .wa-cc { transition: none; } }

/* Stopka – „Wykonanie: Create24” */
.wa-credit { white-space: nowrap; }
.wa-credit a { color: inherit !important; text-decoration: none !important; transition: color .3s; }
.wa-credit a:hover, .wa-credit a:focus-visible { color: #C8B294 !important; }
