/* SobeRave, baza calej strony (naglowek, stopka, menu, mini-koszyk, komunikaty, konto). Ten sam jezyk wizualny: Lexend Mega / Questrial / Red Hat Display,
   pomarancz #EE551F, grafit #1d1d1d, przyciski "w nawiasach". Zmieniamy rytm, spojnosc i stany, nie styl. */

:root{
  --sr-ink:#1d1d1d;
  --sr-text:#29332F;
  --sr-muted:#6b716e;
  --sr-orange:#EE551F;
  --sr-orange-hover:#d8461a;
  --sr-wash:#f5f6f5;
  --sr-line:#e7e2dc;
  --sr-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- 1. Stopka zawsze na dole (krotkie strony: kontakt, konto, koszyk) ---------- */
/* sticky + top:100vh dosuwa stopke do dolu tylko gdy tresci jest malo; nie zmienia ukladu innych dzieci body */
body{ min-height:100vh; min-height:100dvh; }
body > .elementor-location-footer{ position:sticky; top:100vh; }

/* ---------- 2. Stopka: jeden ciemny blok, rowne wyrownanie ---------- */
.elementor-location-footer .elementor-element-767024cd > .e-con-inner{ padding-top:44px !important; padding-bottom:28px !important; row-gap:28px !important; }
.elementor-location-footer .elementor-element-3a23589d{ align-items:center !important; }
.elementor-location-footer .elementor-element-60d7e8ff .elementor-icon-list-text{ font-size:14px !important; font-weight:400 !important; color:rgba(255,255,255,.72) !important; transition:color .2s; }
@media (max-width:1024px){
  .elementor-location-footer .elementor-element-60d7e8ff .elementor-icon-list-items{ display:grid !important; grid-template-columns:repeat(2,auto); justify-content:center; gap:10px 28px; }
  .elementor-location-footer .elementor-element-60d7e8ff .elementor-icon-list-item{ margin:0 !important; justify-content:center; }
}
.elementor-location-footer .elementor-element-60d7e8ff a:hover .elementor-icon-list-text{ color:#fff !important; }
.elementor-location-footer .elementor-element-25410c3d a{ transition:opacity .2s; }
.elementor-location-footer .elementor-element-25410c3d a:hover{ opacity:.7; }
.elementor-location-footer .elementor-element-2048263a{ background:var(--sr-ink) !important; }
.elementor-location-footer .elementor-element-2048263a > .e-con-inner{ border-top:1px solid rgba(255,255,255,.1); padding-top:18px !important; padding-bottom:24px !important; }
.elementor-location-footer .elementor-element-1df5c931 .elementor-heading-title{ font-size:13px !important; color:rgba(255,255,255,.5) !important; letter-spacing:.02em; }
@media (min-width:1025px){
  .elementor-location-footer .elementor-element-60d7e8ff .elementor-icon-list-items{ justify-content:flex-start !important; margin-inline:0 !important; gap:0 36px; }
  .elementor-location-footer .elementor-element-60d7e8ff .elementor-icon-list-item{ margin:0 !important; }
  .elementor-location-footer .elementor-element-1df5c931{ align-self:flex-start; }
  .elementor-location-footer .elementor-element-1df5c931 .elementor-heading-title{ text-align:left !important; }
}

/* ---------- 3. Naglowek: menu mobilne jako pelnoekranowy panel ---------- */
.elementor-location-header .elementor-menu-toggle{ color:#fff !important; }
.elementor-location-header .elementor-menu-toggle svg{ fill:#fff !important; }
@media (max-width:1024px){
  .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{ background:var(--sr-ink) !important; }
  .elementor-location-header .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container{
    height:calc(100dvh - 52px); max-height:none !important; overflow-y:auto;
    border-top:1px solid rgba(255,255,255,.1); padding:12px 0 32px;
  }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item{
    color:#fff !important; background:transparent !important; font-size:20px !important; letter-spacing:.22em !important;
    padding:22px 24px !important; border-bottom:1px solid rgba(255,255,255,.08); justify-content:flex-start;
  }
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
  .elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{ color:var(--sr-orange) !important; }
  body:has(.elementor-location-header .elementor-menu-toggle.elementor-active){ overflow:hidden; }
}

/* ---------- 4. Mini-koszyk: wiekszy panel, czytelna hierarchia przyciskow ---------- */
.elementor-menu-cart__main{ width:min(460px,100%) !important; max-width:100% !important; box-sizing:border-box; padding:32px 36px !important; }
.elementor-menu-cart__product{ padding-block:18px !important; }
.elementor-menu-cart__product-name a, .elementor-menu-cart__product-name{ font-family:"Questrial",sans-serif; font-size:15px; line-height:1.35; }
.elementor-menu-cart__product-image img{ object-fit:cover; aspect-ratio:1/1; }
.elementor-menu-cart__footer-buttons{ gap:12px !important; }
.elementor-menu-cart__footer-buttons .elementor-button--checkout{
  background:var(--sr-orange) !important; border:0 !important; color:#fff !important; transition:background .2s;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover{ background:var(--sr-orange-hover) !important; }
@media (max-width:767px){ .elementor-menu-cart__main{ width:100% !important; padding:28px 24px !important; } }

/* ---------- 8. Komunikaty WooCommerce ---------- */
.woocommerce-notices-wrapper:empty{ display:none; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error,
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  background:var(--sr-wash) !important; color:var(--sr-text) !important;
  border:1px solid var(--sr-line) !important; border-left:3px solid var(--sr-orange) !important; border-radius:0 !important;
  font-family:"Red Hat Display",sans-serif !important; font-size:14px !important; line-height:1.45;
  display:flex; align-items:center; justify-content:space-between; gap:12px 20px; flex-wrap:wrap;
}
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button{
  order:2; font-size:12px !important; letter-spacing:3px !important; padding:9px 14px !important; margin:0 !important;
}
/* Woo ustawia fokus na komunikacie skryptem (dla czytnikow ekranu); bez czarnej ramki fokusu */
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus{ outline:none !important; }
.e-woocommerce-notices-wrapper, .woocommerce-notices-wrapper{ max-width:1040px; margin-inline:auto; width:100%; }
@media (max-width:1080px){ .e-woocommerce-notices-wrapper, .woocommerce-notices-wrapper{ padding-inline:16px; } }
/* po dodaniu do koszyka z listy otwieramy mini-koszyk, bez natywnego linku "Zobacz koszyk" */
a.added_to_cart.wc-forward{ display:none !important; }

/* ---------- 11. Konto: logowanie, reset hasla ---------- */
.woocommerce-account .elementor-element-5a880a63{ text-align:center; }
.woocommerce-account .woocommerce > h2,
.woocommerce-account .u-column1 > h2, .woocommerce-account .u-column2 > h2{ text-align:center; font-size:18px !important; letter-spacing:.3em !important; margin:8px 0 20px !important; }
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register,
.woocommerce-account form.woocommerce-ResetPassword,
.woocommerce-account form.lost_reset_password{
  max-width:460px; margin:0 auto 48px !important; padding:32px !important; height:auto !important;
  border:1px solid var(--sr-line) !important; border-radius:0 !important; background:#fff;
}
.woocommerce-account form .form-row{ padding:0 !important; margin:0 0 16px !important; }
.woocommerce-account form label{ font-family:"Red Hat Display",sans-serif; font-size:14px; color:var(--sr-text); margin-bottom:6px; display:block; }
.woocommerce-account form label.woocommerce-form__label-for-checkbox{ display:inline-flex; align-items:center; gap:8px; margin:0; }
.woocommerce-account form input.input-text{
  background:#fff !important; border:1.5px solid var(--sr-line) !important; border-radius:0 !important;
  padding:14px 16px !important; font-size:15px; width:100%;
}
.woocommerce-account form input.input-text:focus{ border-color:var(--sr-orange) !important; box-shadow:0 0 0 3px #fff5f0 !important; outline:none; }
.woocommerce-account form .woocommerce-form-login__submit,
.woocommerce-account form .woocommerce-Button[type=submit],
.woocommerce-account form.lost_reset_password button[type=submit]{
  width:100%; margin:8px 0 0 !important; background:var(--sr-orange) !important; color:#fff !important; border:0 !important;
  border-radius:0 !important; padding:18px 24px !important; font-family:"Lexend Mega",sans-serif !important;
  font-size:14px !important; letter-spacing:.2em !important; box-shadow:none !important; transition:background .15s;
}
.woocommerce-account form .woocommerce-form-login__submit:hover,
.woocommerce-account form .woocommerce-Button[type=submit]:hover{ background:var(--sr-orange-hover) !important; }
.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme){ display:flex; flex-direction:column; align-items:stretch; gap:16px; }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme{ order:-1; font-size:14px; }
.woocommerce-account .woocommerce-LostPassword{ text-align:center; margin:16px 0 0 !important; }
.woocommerce-account .woocommerce-LostPassword a{ font-family:"Red Hat Display",sans-serif; font-size:14px !important; color:var(--sr-orange) !important; text-decoration:underline; text-underline-offset:3px; }

/* ---------- 12. Kontakt: czytelne podpowiedzi w polach ---------- */
.elementor-form .elementor-field::placeholder{ color:#6f8480 !important; opacity:1; }

/* ---------- 13. Jedna szerokosc tresci na calej stronie (naglowek, stopka, sekcje Elementora, szablony wtyczki) ---------- */
:root{ --sr-max:1180px; --sr-pad:24px; }
@media (min-width:1700px){ :root{ --sr-max:1320px; } }
@media (min-width:2300px){ :root{ --sr-max:1560px; } }
@media (min-width:3000px){ :root{ --sr-max:1760px; } }
@media (max-width:767px){ :root{ --sr-pad:16px; } }
:is(.elementor-location-header,.elementor-location-footer,[data-elementor-type="wp-page"],[data-elementor-type="error-404"]) > .e-con-boxed{
  padding-left:var(--sr-pad) !important; padding-right:var(--sr-pad) !important;
}
:is(.elementor-location-header,.elementor-location-footer,[data-elementor-type="wp-page"],[data-elementor-type="error-404"]) > .e-con-boxed > .e-con-inner{
  max-width:min(100%, var(--sr-max)) !important; width:100%;
}

