:root{--spp-gold:#b78335;--spp-dark:#2b2723;--spp-cream:#fff8ef;--spp-line:#dec29a;--spp-pink:#d79aa1}html{scroll-behavior:smooth}body.spp-fullpage{margin:0!important;padding:0!important;background:#fffaf4!important;overflow-x:hidden}body.spp-fullpage header.site-header,body.spp-fullpage footer.site-footer,body.spp-fullpage .page-header,body.spp-fullpage .entry-title{display:none!important}.spp{font-family:'Fira Sans',system-ui,sans-serif;color:var(--spp-dark);background:radial-gradient(circle at 70% 5%,rgba(255,255,255,.96),rgba(248,237,222,.72) 35%,#fffaf4 68%,#fff 100%);min-height:100vh;width:100%;overflow:hidden}.spp *{box-sizing:border-box}.spp a{text-decoration:none;color:inherit}.spp-nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 6.2vw;background:rgba(255,255,255,.78);backdrop-filter:blur(22px);border-bottom:1px solid rgba(183,131,53,.24);position:sticky;top:0;z-index:50}.admin-bar .spp-nav{top:32px}.spp-brand{display:flex;align-items:center;gap:13px;font:600 27px 'Cormorant Garamond',serif;color:#744616}.spp-brand img{width:52px;height:52px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(128,82,25,.14)}.spp-nav nav{display:flex;gap:31px;font-size:13px;font-weight:700}.spp-nav nav a.active{color:#8a561b;border-bottom:2px solid var(--spp-gold);padding-bottom:8px}.spp-call{border:1px solid rgba(183,131,53,.42);border-radius:999px;padding:13px 22px;color:#7b4b18;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,247,235,.7));box-shadow:0 8px 24px rgba(128,82,25,.11);font-weight:700;font-size:14px}.spp-hero{min-height:620px;display:grid;grid-template-columns:43% 57%;align-items:center;padding:44px 6.4vw 36px;background:radial-gradient(circle at 78% 38%,rgba(255,255,255,.86),rgba(246,222,194,.28) 28%,transparent 52%),linear-gradient(115deg,rgba(255,255,255,.94),rgba(255,250,244,.72)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900'%3E%3Cdefs%3E%3CradialGradient id='a'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.52' stop-color='%23ffe9ce'/%3E%3Cstop offset='1' stop-color='%23fff8ef'/%3E%3C/radialGradient%3E%3ClinearGradient id='b' x1='0' x2='1'%3E%3Cstop stop-color='%23fff' stop-opacity='.1'/%3E%3Cstop offset='.5' stop-color='%23f6d7ff' stop-opacity='.5'/%3E%3Cstop offset='1' stop-color='%23b8efff' stop-opacity='.35'/%3E%3C/linearGradient%3E%3Cfilter id='f'%3E%3CfeGaussianBlur stdDeviation='7'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='1600' height='900' fill='url(%23a)'/%3E%3Cg opacity='.8' filter='url(%23f)'%3E%3Ccircle cx='1160' cy='290' r='170' fill='%23fff'/%3E%3Ccircle cx='1320' cy='410' r='90' fill='%23ffd8ac'/%3E%3Ccircle cx='1040' cy='540' r='130' fill='%23fff'/%3E%3C/g%3E%3Cg fill='none' stroke='url(%23b)' stroke-width='42' opacity='.9'%3E%3Cpath d='M-100 760C300 520 560 360 920 480s520 80 820-230'/%3E%3Cpath d='M-60 640C340 380 620 360 930 250s420-80 760 40'/%3E%3C/g%3E%3Cg fill='%23fff' opacity='.75'%3E%3Ccircle cx='170' cy='140' r='20'/%3E%3Ccircle cx='330' cy='170' r='10'/%3E%3Ccircle cx='1430' cy='170' r='22'/%3E%3Ccircle cx='1280' cy='690' r='17'/%3E%3C/g%3E%3C/svg%3E");background-size:cover}.spp-hero-copy{max-width:560px;animation:sppRise .75s ease both}.spp-eyebrow{letter-spacing:.28em;font-size:12px;font-weight:800;color:#8d5a20;text-transform:uppercase}.spp h1,.spp h2,.spp h3{font-family:'Cormorant Garamond',serif;line-height:1.06}.spp h1{font-size:clamp(48px,4.2vw,72px);font-weight:600;margin:16px 0}.spp h2{text-align:center;font-size:clamp(36px,3vw,54px);font-weight:600;margin:0 0 8px}.spp-section>p{text-align:center;color:#6f655c;margin:0 0 30px}.spp-subtitle{font-size:18px;line-height:1.75;color:#62584f}.spp-orn{width:170px;height:16px;margin:28px 0;background:linear-gradient(90deg,transparent,var(--spp-gold),transparent);opacity:.48}.spp-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.spp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(125,76,22,.2);border-radius:999px;background:linear-gradient(135deg,#d5a95f,#96631d);color:#fff!important;font-weight:800;padding:14px 26px;box-shadow:0 14px 30px rgba(130,78,22,.2),inset 0 1px rgba(255,255,255,.45);transition:.22s}.spp-btn:hover{transform:translateY(-2px)}.spp-btn-light{background:rgba(255,255,255,.68);color:#8a561b!important}.spp-medal-wrap{display:grid;place-items:center}.spp-medal{width:min(48vw,560px);height:min(48vw,560px);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,255,255,.76),rgba(255,241,224,.4));box-shadow:0 30px 90px rgba(115,75,28,.18),inset 0 0 0 1px rgba(183,131,53,.18);animation:sppFloat 5s ease-in-out infinite}.spp-medal img{width:95%;height:95%;object-fit:contain;filter:drop-shadow(0 20px 35px rgba(90,55,16,.16))}.spp-trust{height:54px;margin-top:-54px;padding:0 6.4vw;display:flex;align-items:center;gap:38px;background:rgba(255,255,255,.45);border-top:1px solid rgba(183,131,53,.14);border-bottom:1px solid rgba(183,131,53,.14);backdrop-filter:blur(10px);font-size:13px;color:#6d5f52}.spp-trust span:before{content:'✺';color:var(--spp-gold);margin-right:8px}.spp-section{padding:46px 6.4vw}.spp-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:20px}.spp-card{position:relative;min-height:88px;border:1px solid rgba(183,131,53,.38);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,247,237,.5));box-shadow:0 16px 34px rgba(130,78,22,.11),inset 0 1px 0 rgba(255,255,255,.88);backdrop-filter:blur(15px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;overflow:hidden;transition:.22s}.spp-card:after{content:'';position:absolute;inset:-45%;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.92) 44%,rgba(255,220,247,.35) 50%,transparent 68%);transform:translateX(-60%);transition:.7s}.spp-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(130,78,22,.16)}.spp-card:hover:after{transform:translateX(60%)}.spp-card svg{width:35px;height:35px;fill:none;stroke:var(--spp-gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;z-index:1}.spp-card span{font-size:14px;font-weight:600;z-index:1}.spp-card.tool{min-height:83px}.spp-card.tool i{position:absolute;left:10px;top:9px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#b78335;border:1px solid rgba(183,131,53,.28);font-style:normal;font-weight:800;z-index:1}.spp-featured{padding-top:20px}.spp-vendors{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.spp-vendor-card{display:grid;grid-template-columns:105px 1fr;gap:17px;padding:18px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(183,131,53,.24);box-shadow:0 18px 44px rgba(130,78,22,.09)}.spp-vendor-card .pic{height:105px;border-radius:18px;background:rgba(255,255,255,.6);display:grid;place-items:center;overflow:hidden}.spp-vendor-card img{width:100%;height:100%;object-fit:cover}.spp-vendor-card h3{margin:0;font-size:25px}.spp-vendor-card p{margin:8px 0;color:#665d55}.spp-empty{grid-column:1/-1;text-align:center;padding:34px;border:1px solid rgba(183,131,53,.24);border-radius:22px;background:rgba(255,255,255,.6)}.spp-footerbar{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 6.4vw 42px;padding:22px;border:1px solid rgba(183,131,53,.28);border-radius:26px;background:rgba(255,255,255,.64);box-shadow:0 18px 50px rgba(130,78,22,.08)}.spp-footerbar div{display:flex;flex-direction:column;gap:4px}.spp-footerbar span{font-size:13px;color:#75685d}.spp-page{min-height:100vh}.spp-subhero{padding:70px 6.4vw 46px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,243,227,.68)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 500'%3E%3Crect fill='%23fff8ef' width='900' height='500'/%3E%3Ccircle cx='690' cy='170' r='180' fill='%23fff' opacity='.7'/%3E%3Cpath d='M0 440C260 260 480 380 900 150' fill='none' stroke='%23f5d7ff' stroke-width='36' opacity='.4'/%3E%3C/svg%3E");background-size:cover;border-bottom:1px solid rgba(183,131,53,.22)}.spp-subhero>a{display:inline-flex;margin-bottom:20px;color:#86551c;font-weight:800}.spp-subhero svg{width:54px;height:54px;fill:none;stroke:var(--spp-gold);stroke-width:1.5}.spp-subhero h1{margin:12px 0;font-size:60px}.spp-page-grid{display:grid;grid-template-columns:1fr 380px;gap:28px;padding:42px 6.4vw}.spp-panel{border:1px solid rgba(183,131,53,.25);border-radius:26px;background:rgba(255,255,255,.72);box-shadow:0 18px 44px rgba(130,78,22,.08);padding:26px}.spp-panel h2{text-align:left;font-size:38px}.spp-form label,.spp-review label,.spp-calc label{display:block;font-weight:700;margin:12px 0 7px}.spp input,.spp textarea,.spp select{width:100%;border:1px solid rgba(183,131,53,.3);border-radius:14px;padding:13px 14px;background:rgba(255,255,255,.86);font:inherit}.spp textarea{min-height:120px}.spp .hp{position:absolute;left:-9999px}.spp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.spp-gallery img{width:100%;height:210px;object-fit:cover;border-radius:16px}.spp-map{width:100%;height:330px;border:0;border-radius:18px}.spp-calc,.spp-checks,.spp-faq{display:grid;gap:14px}.spp-calc strong,.spp-countdown{font-size:28px;color:#8c591d;padding:22px;border:1px solid rgba(183,131,53,.22);border-radius:18px;background:#fff}.spp-checks label{padding:14px 16px;border:1px solid rgba(183,131,53,.18);border-radius:14px;background:#fff}.spp-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}.spp-table th,.spp-table td{padding:14px;border-bottom:1px solid #ead8bd;text-align:left}.spp-price,.spp-faq details{padding:18px;border:1px solid rgba(183,131,53,.2);border-radius:18px;background:#fff;margin:12px 0}@keyframes sppRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes sppFloat{50%{transform:translateY(-12px)}}@media(max-width:1050px){.spp-nav{height:auto;padding:16px 24px;flex-wrap:wrap}.spp-nav nav{order:3;width:100%;overflow:auto;white-space:nowrap;gap:20px;padding:8px 0}.spp-hero{grid-template-columns:1fr;text-align:center;padding:36px 24px 42px}.spp-orn{margin-left:auto;margin-right:auto}.spp-actions{justify-content:center}.spp-medal{width:min(84vw,460px);height:min(84vw,460px);margin-top:20px}.spp-trust{margin-top:0;height:auto;padding:14px 24px;flex-wrap:wrap}.spp-grid{grid-template-columns:repeat(2,1fr);gap:13px}.spp-card{min-height:92px}.spp-card.tool{min-height:92px}.spp-section{padding:38px 24px}.spp-vendors{grid-template-columns:1fr}.spp-footerbar{grid-template-columns:1fr;margin:24px}.spp-page-grid{grid-template-columns:1fr;padding:32px 24px}.spp-subhero h1{font-size:42px}.spp-gallery{grid-template-columns:1fr 1fr}}@media(max-width:520px){.spp-brand span{font-size:22px}.spp-brand img{width:42px;height:42px}.spp-call{font-size:12px;padding:10px 12px}.spp h1{font-size:40px}.spp h2{font-size:34px}.spp-grid{grid-template-columns:1fr}.spp-card{min-height:84px}.spp-vendor-card{grid-template-columns:1fr}.spp-vendor-card .pic{height:170px}.spp-gallery{grid-template-columns:1fr}.spp-btn{width:100%}}


/* v6.1 fixes: clean logo, no checkerboard artifact, no empty featured prompt */
.spp-brand img{background:transparent!important;border-radius:50%;box-shadow:none!important}
.spp-medal-clean{background:
  radial-gradient(circle at 50% 45%,rgba(255,255,255,.92),rgba(255,244,230,.72) 46%,rgba(215,154,161,.18) 61%,rgba(183,131,53,.18) 100%)!important;
  border:1px solid rgba(183,131,53,.28);
  overflow:hidden;
}
.spp-medal-clean img{width:min(42vw,520px)!important;height:min(42vw,520px)!important;object-fit:contain!important;background:transparent!important;mix-blend-mode:normal!important}
.spp-featured:empty,.spp-empty{display:none!important}
.spp-feature-main h2{text-align:left;margin-bottom:14px}
.spp-lead{font-size:18px;line-height:1.75;color:#655b52;margin:0 0 24px}
.spp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.spp-smart-form,.spp-chatbox{display:grid;gap:14px}
.spp-planner,.spp-region-list article,.spp-tip-grid>div,.spp-virtual,.spp-ai-out,.spp-fav-list{margin-top:22px;padding:22px;border:1px solid rgba(183,131,53,.22);border-radius:22px;background:rgba(255,255,255,.58);box-shadow:0 18px 45px rgba(130,82,25,.08)}
.spp-planner ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:10px 0 0;padding-left:22px}
.spp-tip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.spp-tip-grid span{display:block;color:#73695f;margin-top:6px}
.spp-region-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.spp-region-list article a{display:inline-flex;margin:6px 6px 0 0;padding:8px 12px;border-radius:999px;border:1px solid rgba(183,131,53,.22);background:#fff}
.spp-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.spp-search{width:100%;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(183,131,53,.32);border-radius:16px;background:#fff;font:inherit}
.spp-faq{display:grid;gap:10px}
.spp-faq details{border:1px solid rgba(183,131,53,.24);border-radius:16px;background:rgba(255,255,255,.72);padding:14px 16px}
.spp-faq summary{cursor:pointer;font-weight:800;color:#2b2723}
.spp-faq p{line-height:1.65;color:#62584f}
.spp-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spp-checks label{padding:14px 16px;border:1px solid rgba(183,131,53,.22);border-radius:16px;background:#fff}
.spp-countdown{font-size:34px;font-weight:800;color:#8a561b;margin-top:14px;padding:24px;border-radius:20px;background:#fff;border:1px solid rgba(183,131,53,.24)}
.spp-virtual{min-height:280px;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#fff,rgba(255,248,239,.9))}
.spp-virtual div{font-size:80px;font-weight:800;color:#b78335}
.spp-ai-out a{display:inline-flex;margin:6px;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid rgba(183,131,53,.25)}
.spp-gallery img{cursor:pointer}
.spp-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(22,12,4,.86);display:grid;place-items:center;padding:28px}
.spp-lightbox img{max-width:94vw;max-height:90vh;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
@media(max-width:900px){
 .spp-form-grid,.spp-planner ol,.spp-tip-grid,.spp-region-list,.spp-package-grid,.spp-checks{grid-template-columns:1fr}
 .spp-medal-clean img{width:min(78vw,380px)!important;height:min(78vw,380px)!important}
}


@media(max-width:767px){
  .spp-grid.tools{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .spp-card.tool{min-height:98px!important;padding:14px 8px!important}
  .spp-card.tool span{font-size:13px!important;line-height:1.15!important}
  .spp-card.tool i{left:10px!important;top:9px!important}
}
@media(max-width:390px){.spp-grid.tools{grid-template-columns:1fr!important}}


/* === ZGLOSZENIA USLUGODAWCOW === */
body.sppa-fullpage{margin:0!important;background:#fff8ef!important;overflow-x:hidden}body.sppa-fullpage header.site-header,body.sppa-fullpage footer.site-footer,body.sppa-fullpage .page-header,body.sppa-fullpage .entry-title{display:none!important}.sppa{font-family:'Fira Sans',system-ui,sans-serif;color:#2b2723;background:radial-gradient(circle at 70% 10%,rgba(255,255,255,.96),rgba(248,237,222,.78) 42%,#fffaf4 100%);min-height:100vh}.sppa *{box-sizing:border-box}.sppa a{text-decoration:none;color:inherit}.sppa-hero{padding:70px 6vw 34px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,246,236,.72));border-bottom:1px solid rgba(183,131,53,.22)}.sppa-eyebrow{letter-spacing:.28em;color:#8a561b;font-weight:800;font-size:12px}.sppa h1,.sppa h2,.sppa h3{font-family:'Cormorant Garamond',serif;line-height:1.06}.sppa h1{font-size:clamp(42px,5vw,76px);font-weight:600;margin:12px auto;max-width:950px}.sppa-hero p{font-size:18px;color:#6c6259;line-height:1.7;max-width:760px;margin:0 auto}.sppa-wrap{max-width:1240px;margin:0 auto;padding:44px 24px}.sppa-alert{border-radius:18px;padding:18px 20px;margin:0 0 22px;background:#fff;border:1px solid rgba(183,131,53,.26);box-shadow:0 16px 50px rgba(130,82,25,.08)}.sppa-alert.success{border-color:#78b783}.sppa-alert.error{border-color:#d77b7b}.sppa-form{display:grid;gap:22px}.sppa-step{border:1px solid rgba(183,131,53,.25);background:rgba(255,255,255,.68);backdrop-filter:blur(14px);border-radius:28px;padding:28px;box-shadow:0 24px 70px rgba(130,82,25,.08)}.sppa-step-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.sppa-step-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#b78335;border:1px solid rgba(183,131,53,.32);font-weight:800}.sppa-step h2{font-size:34px;margin:0}.sppa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sppa label{display:grid;gap:8px;font-weight:800}.sppa small{font-weight:500;color:#756b61}.sppa input,.sppa textarea,.sppa select{width:100%;border:1px solid rgba(183,131,53,.35);border-radius:16px;padding:14px 16px;background:rgba(255,255,255,.86);font:inherit;color:#2b2723}.sppa textarea{min-height:140px;resize:vertical}.sppa input[type=file]{padding:11px;background:#fff}.sppa-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sppa-cats label{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid rgba(183,131,53,.22);font-weight:700}.sppa-cats input{width:auto}.sppa-consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:600}.sppa-consent input{width:auto;margin-top:4px}.sppa-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:15px 26px;background:linear-gradient(135deg,#d3a65b,#96631d);color:#fff!important;font-weight:800;cursor:pointer;box-shadow:0 18px 40px rgba(141,87,22,.22)}.sppa-btn-light{background:#fff;color:#8a561b!important;border:1px solid rgba(183,131,53,.3)}.sppa-actions{display:flex;gap:14px;flex-wrap:wrap}.hp{position:absolute!important;left:-9999px!important}.sppa-help{padding:18px;border-left:4px solid #b78335;background:rgba(255,255,255,.68);border-radius:16px;color:#655b52}.sppa-required{color:#b78335}.sppa-profile{max-width:1180px;margin:0 auto;padding:46px 24px}.sppa-profile-hero{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:center;padding:32px;border-radius:32px;background:rgba(255,255,255,.72);border:1px solid rgba(183,131,53,.25);box-shadow:0 22px 70px rgba(130,82,25,.09)}.sppa-profile-logo{width:220px;height:220px;border-radius:28px;background:#fff;object-fit:contain;padding:16px;border:1px solid rgba(183,131,53,.2)}.sppa-profile h1{font-size:58px;margin:0}.sppa-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.sppa-meta span,.sppa-social a{padding:9px 13px;border-radius:999px;background:#fff;border:1px solid rgba(183,131,53,.22);color:#8a561b;font-weight:700}.sppa-profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:24px}.sppa-panel{padding:26px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(183,131,53,.22);box-shadow:0 18px 50px rgba(130,82,25,.07)}.sppa-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sppa-gallery img{width:100%;height:220px;object-fit:cover;border-radius:18px}.sppa-social{display:flex;gap:8px;flex-wrap:wrap}.sppa-contact p{margin:8px 0}.sppa-admin .button-primary{margin-right:4px}@media(max-width:900px){.sppa-grid,.sppa-profile-hero,.sppa-profile-grid{grid-template-columns:1fr}.sppa-cats{grid-template-columns:repeat(2,1fr)}.sppa-profile-logo{width:170px;height:170px}.sppa-profile h1{font-size:42px}}@media(max-width:520px){.sppa-cats{grid-template-columns:1fr}.sppa-wrap{padding:28px 16px}.sppa-step{padding:20px}.sppa-hero{padding:48px 18px 28px}}

/* === ADMIN PRO === */
.sppap-wrap{max-width:1400px}.sppap-hero{margin:22px 0;padding:30px 34px;border:1px solid #dec29a;border-radius:30px;background:radial-gradient(circle at 70% 20%,#fff,#fff8ef 58%,#f8eddd);display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 20px 60px rgba(130,82,25,.08)}.sppap-eyebrow{letter-spacing:.22em;color:#8a561b;font-weight:800;font-size:12px}.sppap-hero h1,.sppap-step h2,.sppap-panel h2{font-family:Georgia,serif;font-weight:600;color:#2b2723}.sppap-hero h1{font-size:44px;margin:6px 0}.sppap-hero p{max-width:820px;color:#6d6258;font-size:15px;line-height:1.6}.sppap-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.sppap-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 22px;background:linear-gradient(135deg,#d3a65b,#96631d);color:#fff!important;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 14px 34px rgba(141,87,22,.2)}.sppap-btn-light{background:#fff;color:#8a561b!important;border:1px solid rgba(183,131,53,.3)}.sppap-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:22px 0}.sppap-card{background:#fff;border:1px solid #dec29a;border-radius:22px;padding:20px;box-shadow:0 16px 45px rgba(130,82,25,.06)}.sppap-card strong{display:block;color:#8a561b}.sppap-card span{display:block;font-size:34px;font-weight:900;color:#2b2723;margin:8px 0}.sppap-card small{color:#756b61}.sppap-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sppap-panel,.sppap-step{border:1px solid #dec29a;background:rgba(255,255,255,.88);border-radius:24px;padding:24px;box-shadow:0 18px 55px rgba(130,82,25,.06);margin:0 0 22px}.sppap-panel h2{font-size:30px;margin:0 0 16px}.sppap-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sppap-check{display:grid;grid-template-columns:220px 1fr;gap:12px;padding:12px 14px;border-radius:14px;margin:8px 0;background:#fff;border:1px solid #e5d3b9}.sppap-check.ok{border-left:5px solid #61a86b}.sppap-check.bad{border-left:5px solid #c76a5e}.sppap-check span{color:#655b52}.sppap-form{display:grid;gap:22px}.sppap-step-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.sppap-step-head span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #dec29a;color:#b78335;font-weight:800}.sppap-step h2{font-size:30px;margin:0}.sppap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sppap label{display:grid;gap:7px;font-weight:800;color:#2b2723}.sppap small{font-weight:500;color:#756b61}.sppap input,.sppap textarea,.sppap select{width:100%;border:1px solid rgba(183,131,53,.36);border-radius:14px;padding:12px 14px;background:#fff;font-size:14px}.sppap textarea{resize:vertical}.sppap b{color:#b78335}.sppap-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.sppap-cats label{display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid rgba(183,131,53,.24);border-radius:14px;background:#fff;font-weight:700}.sppap-cats input{width:auto}.sppap-help,.sppap-live-preview,.sppap-notice{padding:15px 16px;border-left:4px solid #b78335;background:#fff8ef;border-radius:14px;color:#655b52}.sppap-notice.ok{border-left-color:#61a86b;background:#f7fff8}.sppap-error{border-left:5px solid #c76a5e}.sppap-media-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:18px}.sppap-media-card{border:1px solid rgba(183,131,53,.24);border-radius:18px;background:#fff;padding:18px}.sppap-preview{min-height:170px;display:grid;place-items:center;border:1px dashed #dec29a;border-radius:16px;background:#fffaf4;margin-bottom:14px;color:#8a561b;font-weight:800}.sppap-preview img{max-width:100%;max-height:170px;object-fit:contain}.sppap-gallery-preview{min-height:170px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border:1px dashed #dec29a;border-radius:16px;background:#fffaf4;margin-bottom:14px;padding:10px;color:#8a561b;font-weight:800}.sppap-gallery-preview img{width:100%;height:76px;object-fit:cover;border-radius:10px}.sppap-actions{display:flex;gap:12px;flex-wrap:wrap}.sppap-live-preview{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.sppap-live-preview span{padding:7px 11px;border-radius:999px;background:#fff;border:1px solid rgba(183,131,53,.2)}.sppap-table td,.sppap-table th{vertical-align:middle}.sppap-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eee;color:#555;font-size:12px;font-weight:800}.sppap-badge.ok{background:#e9f8ec;color:#287535}.sppap-badge.warn{background:#fff4d8;color:#8a5a00}.sppap-badge.off{background:#f5e8e8;color:#9b2f2f}.sppap-filters{display:flex;gap:10px;align-items:center;margin:0 0 16px}.sppap-cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sppap-cat{padding:18px;background:#fff;border:1px solid #dec29a;border-radius:18px}.sppap-bars{height:230px;display:flex;gap:8px;align-items:end;overflow:auto;padding:10px;background:#fff;border-radius:18px;border:1px solid #eee}.sppap-bar{min-width:34px;text-align:center}.sppap-bar span{display:block;width:100%;background:linear-gradient(180deg,#d3a65b,#96631d);border-radius:8px 8px 0 0}.sppap-bar small{font-size:10px;color:#6d6258}.sppap-audit-list{line-height:1.8}.sppap-audit-list li{margin-left:18px}@media(max-width:1100px){.sppap-cards{grid-template-columns:repeat(3,1fr)}.sppap-grid-2,.sppap-media-grid{grid-template-columns:1fr}.sppap-cat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sppap-hero{display:grid}.sppap-cards,.sppap-grid,.sppap-cats,.sppap-cat-grid{grid-template-columns:1fr}.sppap-check{grid-template-columns:1fr}.sppap-actions-grid{grid-template-columns:1fr}}
/* v7 performance polish */
.spp img,.sppa img{max-width:100%;height:auto}
.spp-card:hover,.spp-btn:hover,.sppa-btn:hover,.sppap-btn:hover{will-change:transform}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* v8 homepage cleanup: removed convenience cards, added FAQ + contact */
.spp-about{padding-top:42px}
.spp-about>p{max-width:850px;margin-left:auto;margin-right:auto}
.spp-about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.spp-about-grid article{padding:24px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(183,131,53,.24);box-shadow:0 18px 50px rgba(130,82,25,.08)}
.spp-about-grid b{display:block;color:#2b2723;font-size:18px;margin-bottom:8px}
.spp-about-grid span{color:#6d6258;line-height:1.6}
.spp-home-faq{background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,248,239,.72))}
.spp-faq-home-list{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spp-faq-home-list details{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(183,131,53,.24);box-shadow:0 12px 34px rgba(130,82,25,.06)}
.spp-faq-home-list summary{font-weight:800;cursor:pointer;color:#2b2723}
.spp-faq-home-list p{line-height:1.7;color:#655b52;margin:12px 0 0}
.spp-faq-search{max-width:780px;display:block;margin:0 auto 24px!important}
.spp-contact-home{background:radial-gradient(circle at 70% 10%,rgba(255,255,255,.96),rgba(255,248,239,.72))}
.spp-contact-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;max-width:1180px;margin:0 auto}
.spp-contact-form,.spp-contact-aside{padding:28px;border-radius:28px;background:rgba(255,255,255,.78);border:1px solid rgba(183,131,53,.25);box-shadow:0 22px 65px rgba(130,82,25,.09)}
.spp-contact-form{display:grid;gap:16px}
.spp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.spp-contact-form label{display:grid;gap:8px;font-weight:800;color:#2b2723}
.spp-contact-aside{align-self:start;display:grid;gap:14px;color:#655b52}
.spp-contact-aside b{font-family:Georgia,serif;font-size:28px;color:#2b2723}
.spp-contact-aside span{display:block;padding:12px 14px;background:#fff;border:1px solid rgba(183,131,53,.22);border-radius:16px}
.spp-contact-aside a:not(.spp-btn){color:#8a561b;font-weight:800}
.spp-tools{display:none!important}
body.wp-admin #adminmenu .menu-icon-spp_vendor{display:none!important}
@media(max-width:980px){
  .spp-about-grid,.spp-contact-layout{grid-template-columns:1fr}
  .spp-faq-home-list{grid-template-columns:1fr}
}
@media(max-width:640px){
  .spp-form-grid{grid-template-columns:1fr}
  .spp-contact-form,.spp-contact-aside{padding:20px}
}


/* v9 editable text panel */
.sppap-step code{background:#fff;border:1px solid #dec29a;border-radius:6px;padding:2px 5px}
.sppap-grid textarea{min-height:86px}


/* Stable plus: inactive services, upload rules, YouTube, logo contain */
.spp-card-disabled{cursor:not-allowed!important;opacity:.48;filter:grayscale(.35);position:relative}
.spp-card-disabled:hover{transform:none!important;box-shadow:0 14px 36px rgba(130,82,25,.06)!important}
.spp-card-disabled em{position:absolute;right:12px;top:10px;font-size:11px;font-style:normal;font-weight:800;color:#9a6a26;background:#fff8ef;border:1px solid rgba(183,131,53,.28);border-radius:999px;padding:4px 8px}
.spp-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(92vw,560px);padding:14px 18px;border-radius:18px;background:rgba(43,39,35,.94);color:#fff;z-index:999999;box-shadow:0 20px 70px rgba(0,0,0,.25);text-align:center;font-weight:700}
.spp-empty-vendors{grid-column:1/-1}
.sppa-profile-logo{object-fit:contain!important;object-position:center!important;background:#fff!important;padding:18px!important;width:220px!important;height:220px!important;max-width:100%!important;border-radius:28px}
.sppa-profile-hero-clean{align-items:center}
.sppa-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.sppa-video-card{position:relative;display:block;overflow:hidden;border-radius:18px;border:1px solid rgba(183,131,53,.24);background:#111;box-shadow:0 16px 42px rgba(130,82,25,.1)}
.sppa-video-card img{display:block;width:100%;height:190px;object-fit:cover;opacity:.9;transition:transform .25s ease,opacity .25s ease}
.sppa-video-card:hover img{transform:scale(1.04);opacity:1}
.sppa-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#b78335;font-weight:900;font-size:24px;box-shadow:0 12px 36px rgba(0,0,0,.24)}
.sppa-upload-error{margin-top:8px;color:#9b2f2f;font-weight:800}
.sppa input[type=file].sppa-file-error{border-color:#c76a5e!important;background:#fff5f4!important}
@media(max-width:900px){.sppa-profile-logo{width:min(72vw,260px)!important;height:auto!important;aspect-ratio:1/1;margin:0 auto}}
@media(max-width:760px){.sppa-video-grid{grid-template-columns:1fr}.sppa-video-card img{height:210px}}


/* v10.1.3 logo hotfix: prevent cropped logo on homepage/header */
.spp-brand{
  min-width:0!important;
  overflow:visible!important;
  align-items:center!important;
}
.spp-brand img{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:block!important;
  flex:0 0 64px!important;
}
.spp-brand span{
  line-height:1.08!important;
  overflow:visible!important;
  white-space:normal!important;
}
.spp-medal-clean,
.spp-medal{
  overflow:visible!important;
}
.spp-medal img,
.spp-medal-clean img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  padding:0!important;
  background:transparent!important;
}
@media(max-width:760px){
  .spp-brand img{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    flex-basis:52px!important;
  }
  .spp-brand span{
    font-size:22px!important;
    max-width:180px!important;
  }
}
@media(max-width:420px){
  .spp-brand img{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    flex-basis:46px!important;
  }
  .spp-brand span{
    font-size:19px!important;
    max-width:150px!important;
  }
}


/* v10.1.7 Admin PRO edit form polish */
.sppap-form input,
.sppap-form select,
.sppap-form textarea{
  max-width:100%;
}
.sppap-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.sppap-media-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.sppap-preview,
.sppap-gallery-preview{
  min-height:120px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  overflow:auto;
}
.sppap-preview img{
  max-width:220px;
  max-height:160px;
  object-fit:contain;
  background:#fff;
  border-radius:14px;
}
.sppap-gallery-preview img{
  width:92px;
  height:92px;
  object-fit:cover;
  border-radius:14px;
}
@media(max-width:900px){
  .sppap-grid,
  .sppap-media-grid,
  .sppap-grid-2,
  .sppap-cards{
    grid-template-columns:1fr!important;
  }
  .sppap-wrap{
    margin-right:10px;
  }
  .sppap-step{
    padding:18px!important;
  }
  .sppap-table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
  }
}


/* v10.1.8 global navigation on subpages */
.spp-global-nav{
  width:100%;
  box-sizing:border-box;
}
.sppa-fullpage .spp-nav{
  font-family:'Fira Sans',system-ui,sans-serif;
  color:#2b2723;
}
.spp-menu-toggle{
  display:none;
  align-items:center;
  gap:8px;
  border:1px solid rgba(183,131,53,.32);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#744616;
  padding:10px 13px;
  font-weight:800;
  cursor:pointer;
}
.spp-menu-toggle span{
  display:block;
  width:17px;
  height:2px;
  background:#9a6420;
  border-radius:2px;
}
.spp-menu-toggle b{
  font-size:12px;
}
.spp-subhero{
  margin-top:0!important;
}
@media(max-width:980px){
  .spp-nav{
    height:auto!important;
    min-height:76px!important;
    padding:12px 18px!important;
    gap:12px!important;
    flex-wrap:wrap!important;
  }
  .spp-menu-toggle{
    display:flex!important;
    order:2;
    margin-left:auto;
  }
  .spp-nav .spp-call{
    order:3;
    margin-left:0;
    font-size:12px!important;
    padding:9px 12px!important;
  }
  .spp-nav nav{
    order:4;
    display:none!important;
    width:100%!important;
    flex-direction:column!important;
    gap:0!important;
    padding:8px!important;
    border:1px solid rgba(183,131,53,.20);
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:0 18px 44px rgba(130,82,25,.10);
  }
  .spp-nav nav.is-open{
    display:flex!important;
  }
  .spp-nav nav a{
    padding:13px 12px!important;
    border-bottom:1px solid rgba(183,131,53,.12)!important;
  }
  .spp-nav nav a:last-child{
    border-bottom:0!important;
  }
  .spp-nav nav a.active{
    padding-bottom:13px!important;
  }
}
@media(max-width:560px){
  .spp-nav{
    position:sticky!important;
    top:0!important;
  }
  .admin-bar .spp-nav{
    top:46px!important;
  }
  .spp-brand{
    gap:9px!important;
  }
  .spp-brand span{
    font-size:19px!important;
    max-width:150px!important;
    line-height:1.05!important;
  }
  .spp-call{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}


/* v10.1.9 category manager */
.sppap-category-form small{
  color:#756b61;
  font-weight:500;
}
.sppap-cat-icon svg{
  width:42px;
  height:42px;
  color:#b78335;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
}
.sppap-cat .sppap-actions{
  margin-top:12px;
}
@media(max-width:900px){
  .sppap-cat-grid{
    grid-template-columns:1fr!important;
  }
}


/* v10.1.10 menu gold hotfix: override theme button styles and ensure mobile toggle works */
.spp .spp-nav button.spp-menu-toggle,
.spp-nav button.spp-menu-toggle,
button.spp-menu-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:none;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:54px!important;
  border:1px solid rgba(183,131,53,.45)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff8ea 0%,#e6c37a 48%,#b78335 100%)!important;
  background-color:#d9ad58!important;
  color:#3f2a12!important;
  box-shadow:0 14px 34px rgba(130,82,25,.18)!important;
  padding:12px 18px!important;
  font-family:'Fira Sans',system-ui,sans-serif!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  text-transform:none!important;
  cursor:pointer!important;
}
.spp .spp-nav button.spp-menu-toggle:hover,
.spp-nav button.spp-menu-toggle:hover,
button.spp-menu-toggle:hover,
.spp .spp-nav button.spp-menu-toggle:focus,
.spp-nav button.spp-menu-toggle:focus,
button.spp-menu-toggle:focus{
  background:linear-gradient(135deg,#fffaf0 0%,#edcf8e 45%,#a96f25 100%)!important;
  background-color:#d9ad58!important;
  color:#2b1b0b!important;
  border-color:#b78335!important;
  outline:2px solid rgba(183,131,53,.18)!important;
  outline-offset:2px!important;
}
.spp .spp-nav button.spp-menu-toggle span,
.spp-nav button.spp-menu-toggle span,
button.spp-menu-toggle span{
  display:block!important;
  width:26px!important;
  height:3px!important;
  min-width:26px!important;
  background:#7a4d16!important;
  border-radius:999px!important;
  box-shadow:none!important;
  margin:0!important;
}
.spp .spp-nav button.spp-menu-toggle b,
.spp-nav button.spp-menu-toggle b,
button.spp-menu-toggle b{
  color:#3f2a12!important;
  font-size:18px!important;
  font-weight:800!important;
  letter-spacing:0!important;
}
.spp .spp-nav button.spp-menu-toggle.is-open span:nth-child(1),
.spp-nav button.spp-menu-toggle.is-open span:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}
.spp .spp-nav button.spp-menu-toggle.is-open span:nth-child(2),
.spp-nav button.spp-menu-toggle.is-open span:nth-child(2){
  opacity:0;
}
.spp .spp-nav button.spp-menu-toggle.is-open span:nth-child(3),
.spp-nav button.spp-menu-toggle.is-open span:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}
@media(max-width:980px){
  .spp .spp-nav button.spp-menu-toggle,
  .spp-nav button.spp-menu-toggle,
  button.spp-menu-toggle{
    display:flex!important;
  }
  .spp .spp-nav nav,
  .spp-nav nav{
    display:none!important;
  }
  .spp .spp-nav nav.is-open,
  .spp-nav nav.is-open{
    display:flex!important;
  }
}
@media(max-width:560px){
  .spp .spp-nav button.spp-menu-toggle,
  .spp-nav button.spp-menu-toggle,
  button.spp-menu-toggle{
    width:auto!important;
    max-width:100%!important;
    flex:1 1 180px!important;
  }
}


/* v10.1.11 menu label cleanup: remove hamburger lines and keep only clean "Menu" label */
.spp .spp-nav button.spp-menu-toggle span,
.spp-nav button.spp-menu-toggle span,
button.spp-menu-toggle span{
  display:none!important;
}
.spp .spp-nav button.spp-menu-toggle,
.spp-nav button.spp-menu-toggle,
button.spp-menu-toggle{
  gap:0!important;
  min-width:142px!important;
}
.spp .spp-nav button.spp-menu-toggle b,
.spp-nav button.spp-menu-toggle b,
button.spp-menu-toggle b{
  display:block!important;
  font-size:18px!important;
}


/* v10.1.12 remove about/cards section */
.spp-about,
.spp-about-grid{
  display:none!important;
}


/* v10.1.13: vendor logos no crop + remove bottom benefits */
.spp-vendor-card .pic{
  overflow:hidden!important;
  background:#fff!important;
  min-height:160px!important;
  height:160px!important;
  padding:18px!important;
}
.spp-vendor-card .pic img,
.spp-vendor-card > a.pic img,
.spp-vendor-card img.wp-post-image{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  border-radius:14px!important;
  display:block!important;
}
.spp-vendor-card{
  align-items:stretch!important;
}
.spp-footerbar{
  display:none!important;
}
@media(max-width:720px){
  .spp-vendor-card{
    grid-template-columns:1fr!important;
  }
  .spp-vendor-card .pic{
    width:100%!important;
    height:220px!important;
    min-height:220px!important;
    padding:20px!important;
  }
}


/* v10.1.14 URL + category form UX */
.sppa input[inputmode="url"],
.sppap-form input[inputmode="url"]{
  direction:ltr;
}
.sppa-cats label,
.sppap-cats label{
  position:relative;
  cursor:pointer;
}
.sppa-cats input[type="checkbox"],
.sppap-cats input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  border:2px solid rgba(183,131,53,.55)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px #fff!important;
  display:inline-grid!important;
  place-items:center!important;
  margin:0 10px 0 0!important;
}
.sppa-cats input[type="checkbox"]:checked,
.sppap-cats input[type="checkbox"]:checked{
  background:#b78335!important;
  border-color:#b78335!important;
}
.sppa-cats input[type="checkbox"]:checked::after,
.sppap-cats input[type="checkbox"]:checked::after{
  content:"✓";
  color:#fff;
  font-weight:900;
  font-size:16px;
  line-height:1;
}
.sppa-cats input[type="checkbox"]:focus-visible,
.sppap-cats input[type="checkbox"]:focus-visible{
  outline:3px solid rgba(183,131,53,.22)!important;
  outline-offset:2px!important;
}


/* v10.1.16 public submit fix */
.sppa-client-error{
  margin-bottom:18px!important;
}


/* v10.1.17 robust submission + clean preview */
.sppa-live-preview{
  padding:18px 20px!important;
  border:1px solid rgba(183,131,53,.22)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.76)!important;
  margin-bottom:18px!important;
  font-size:16px!important;
  line-height:1.5!important;
}
.sppa-live-preview strong{
  display:block!important;
  font-size:20px!important;
  margin-bottom:8px!important;
}
.sppa-live-preview ul{
  margin:8px 0 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.sppa-live-preview li{
  margin:5px 0!important;
}
.sppa-consent{
  display:grid!important;
  grid-template-columns:26px 1fr!important;
  gap:12px!important;
  align-items:start!important;
  padding:0!important;
  font-size:18px!important;
  line-height:1.3!important;
}
.sppa-consent input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  margin:2px 0 0 0!important;
  border:2px solid rgba(183,131,53,.55)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 3px #fff!important;
  position:static!important;
}
.sppa-consent input[type="checkbox"]:checked{
  background:#b78335!important;
}
.sppa-consent input[type="checkbox"]:checked::after{
  content:"✓";
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:16px;
  line-height:20px;
}
.sppa-consent span{
  display:block!important;
  font-weight:700!important;
}
@media(max-width:560px){
  .sppa-step-head h2{
    font-size:42px!important;
    line-height:1.05!important;
  }
  .sppa-consent{
    font-size:17px!important;
  }
  .sppa-actions .sppa-btn{
    width:100%!important;
    text-align:center!important;
  }
}


/* v10.1.18 single gallery upload slots */
.sppa-gallery-single{
  display:block;
}
.sppa-help-mini{
  margin:8px 0 14px;
  color:#6e6258;
  font-size:15px;
  line-height:1.45;
}
.sppa-gallery-slots{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.sppa-gallery-slot{
  display:none!important;
  border:1px solid rgba(183,131,53,.24)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  padding:14px!important;
}
.sppa-gallery-slot.is-visible{
  display:block!important;
}
.sppa-gallery-slot span{
  display:block;
  font-weight:800;
  margin-bottom:8px;
  color:#2b2723;
}
.sppa-gallery-slot input[type=file]{
  width:100%;
  background:#fff!important;
}
.sppa-gallery-slot.has-file{
  border-color:#b78335!important;
  box-shadow:0 10px 24px rgba(130,82,25,.08)!important;
}
.sppa-gallery-slot.has-file small{
  color:#8a561b;
  font-weight:700;
  word-break:break-word;
}
@media(max-width:640px){
  .sppa-gallery-slots{
    grid-template-columns:1fr;
  }
}

/* v10.2.1 ultra responsive frontend polish
   - remove duplicated hero logo
   - prevent text/button overlap
   - normalize widths on iOS/Android/tablet/desktop */
html,
body{
  max-width:100%;
  overflow-x:hidden!important;
}
#spp-app,
.spp,
.sppa,
.sppap,
#spp-home{
  width:100%!important;
  max-width:100%!important;
  overflow-x:clip!important;
}
.spp *,
.spp *::before,
.spp *::after,
.sppa *,
.sppa *::before,
.sppa *::after,
.sppap *,
.sppap *::before,
.sppap *::after{
  min-width:0;
  box-sizing:border-box;
}
.spp img,
.sppa img,
.sppap img,
.spp iframe,
.sppa iframe,
.sppap iframe,
.spp video,
.sppa video,
.sppap video{
  max-width:100%!important;
  height:auto;
}
.spp-hero .spp-medal-wrap,
.spp-hero .spp-medal,
.spp-hero .spp-logo-hero{
  display:none!important;
}
.spp-hero{
  grid-template-columns:minmax(0,1fr)!important;
  min-height:auto!important;
  align-items:center!important;
  padding:clamp(78px,8vw,132px) clamp(18px,6.4vw,96px) clamp(44px,6vw,88px)!important;
  background-position:center!important;
}
.spp-hero-copy{
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin:0!important;
  position:relative;
  z-index:2;
}
.spp-hero-copy .spp-eyebrow{
  margin:0 0 clamp(14px,1.5vw,22px)!important;
  line-height:1.45!important;
}
.spp h1{
  overflow-wrap:anywhere;
}
.spp-subtitle{
  max-width:760px!important;
  margin:clamp(14px,1.8vw,24px) 0 0!important;
  line-height:1.65!important;
}
.spp-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:clamp(14px,1.7vw,24px)!important;
  margin-top:clamp(28px,3vw,44px)!important;
  margin-bottom:clamp(16px,2vw,30px)!important;
}
.spp-btn,
.sppa-btn,
.sppap-btn{
  max-width:100%!important;
  white-space:normal!important;
  line-height:1.2!important;
  text-align:center!important;
  min-height:48px;
}
.spp-trust{
  height:auto!important;
  min-height:64px!important;
  margin-top:0!important;
  padding:16px clamp(18px,6.4vw,96px)!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px clamp(22px,3vw,44px)!important;
  line-height:1.35!important;
  position:relative;
  z-index:1;
}
.spp-trust span{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
}
.spp-section,
.sppa-wrap,
.sppap-wrap{
  padding-left:clamp(16px,5vw,92px)!important;
  padding-right:clamp(16px,5vw,92px)!important;
}
.spp-grid,
.spp-vendors,
.spp-contact-layout,
.spp-page-grid,
.spp-footerbar,
.sppap-cards,
.sppap-grid,
.sppap-grid-2,
.sppap-media-grid,
.sppap-cat-grid,
.sppa-grid,
.sppa-profile-grid,
.sppa-profile-hero,
.sppa-cats,
.sppa-gallery,
.sppa-video-grid{
  width:100%!important;
  max-width:100%!important;
}
.spp-card,
.spp-vendor-card,
.spp-panel,
.spp-contact-layout,
.spp-contact-aside,
.sppa-step,
.sppa-panel,
.sppa-profile-card,
.sppap-card,
.sppap-panel,
.sppap-step{
  max-width:100%!important;
  overflow-wrap:anywhere;
}
.spp input,
.spp textarea,
.spp select,
.sppa input,
.sppa textarea,
.sppa select,
.sppap input,
.sppap textarea,
.sppap select{
  max-width:100%!important;
}
.spp-contact-layout{
  align-items:start!important;
}
.spp-contact-aside{
  display:grid!important;
  gap:12px!important;
}

@media(max-width:1280px){
  .spp-nav{
    padding-left:clamp(18px,4vw,64px)!important;
    padding-right:clamp(18px,4vw,64px)!important;
    gap:16px!important;
  }
  .spp-nav nav{
    gap:18px!important;
  }
  .spp-grid.services{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(max-width:1100px){
  .spp-grid.services,
  .spp-vendors,
  .sppap-cards,
  .sppap-cat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .spp-contact-layout,
  .spp-page-grid,
  .sppa-profile-hero,
  .sppa-profile-grid,
  .sppap-grid-2,
  .sppap-media-grid{
    grid-template-columns:1fr!important;
  }
  .spp-hero{
    padding-top:clamp(66px,8vw,108px)!important;
  }
}
@media(max-width:980px){
  .spp-nav{
    width:100%!important;
    max-width:100%!important;
    min-height:74px!important;
    padding:10px 16px!important;
    align-items:center!important;
  }
  .spp-brand{
    flex:1 1 auto!important;
    max-width:calc(100% - 160px)!important;
  }
  .spp-brand span{
    overflow-wrap:anywhere!important;
  }
  .spp .spp-nav button.spp-menu-toggle,
  .spp-nav button.spp-menu-toggle,
  button.spp-menu-toggle{
    flex:0 0 auto!important;
    min-width:112px!important;
    max-width:140px!important;
    min-height:48px!important;
    padding:10px 14px!important;
  }
  .spp-nav .spp-call{
    flex:1 1 100%!important;
    width:100%!important;
    justify-content:center!important;
  }
  .spp-nav nav{
    flex:1 1 100%!important;
  }
  .spp-hero{
    padding-top:clamp(44px,7vw,80px)!important;
  }
  .spp h1{
    font-size:clamp(40px,8vw,62px)!important;
  }
}
@media(max-width:820px){
  .spp-grid.services,
  .spp-vendors,
  .spp-footerbar,
  .sppap-cards,
  .sppap-grid,
  .sppap-cat-grid,
  .sppa-grid,
  .sppa-cats,
  .sppa-gallery{
    grid-template-columns:1fr!important;
  }
  .spp-section{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }
  .spp-hero{
    text-align:left!important;
    padding:42px 18px 34px!important;
  }
  .spp-orn{
    margin-top:20px!important;
    margin-bottom:20px!important;
  }
  .spp-trust{
    padding:14px 18px!important;
  }
  .spp-card,
  .spp-card.tool,
  .spp-card.service{
    min-height:74px!important;
    padding:18px 16px!important;
  }
  .spp-vendor-card{
    grid-template-columns:1fr!important;
  }
  .spp-vendor-card .pic{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/10;
  }
}
@media(max-width:640px){
  .spp-nav{
    gap:10px!important;
  }
  .spp-brand{
    max-width:100%!important;
  }
  .spp-brand img{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    flex-basis:46px!important;
  }
  .spp-brand span{
    font-size:18px!important;
    max-width:190px!important;
  }
  .spp .spp-nav button.spp-menu-toggle,
  .spp-nav button.spp-menu-toggle,
  button.spp-menu-toggle{
    min-width:96px!important;
    max-width:118px!important;
    font-size:16px!important;
  }
  .spp-hero{
    padding:34px 16px 30px!important;
  }
  .spp h1{
    font-size:clamp(34px,10vw,48px)!important;
  }
  .spp h2{
    font-size:clamp(30px,9vw,42px)!important;
  }
  .spp-eyebrow{
    letter-spacing:.16em!important;
    font-size:11px!important;
  }
  .spp-subtitle{
    font-size:16px!important;
  }
  .spp-actions{
    width:100%!important;
    gap:12px!important;
  }
  .spp-actions .spp-btn,
  .spp-contact-form .spp-btn,
  .spp-contact-aside .spp-btn,
  .sppa-actions .sppa-btn,
  .sppap-actions .sppap-btn,
  .sppap-hero-actions .sppap-btn{
    width:100%!important;
  }
  .spp-trust{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    font-size:14px!important;
  }
  .spp-form-grid,
  .sppap-grid,
  .sppa-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .spp-panel,
  .spp-contact-layout,
  .sppap-panel,
  .sppap-step,
  .sppa-panel,
  .sppa-step{
    padding:18px!important;
    border-radius:18px!important;
  }
}
@media(max-width:420px){
  .spp-section,
  .sppa-wrap,
  .sppap-wrap{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .spp-brand span{
    display:none!important;
  }
  .spp-brand{
    max-width:58px!important;
    flex:0 0 58px!important;
  }
  .spp .spp-nav button.spp-menu-toggle,
  .spp-nav button.spp-menu-toggle,
  button.spp-menu-toggle{
    min-width:88px!important;
  }
  .spp-call{
    font-size:12px!important;
  }
  .spp-hero{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .spp-btn,
  .sppa-btn,
  .sppap-btn{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* v10.2.2 logo hero + social media + mobile menu fix
   Zmiany są dopisane na końcu, aby nie naruszać istniejących funkcji i nadpisać starsze reguły 10.2.1. */
.spp .spp-hero{
  grid-template-columns:minmax(0,0.92fr) minmax(280px,0.78fr)!important;
  column-gap:clamp(32px,6vw,120px)!important;
}
.spp .spp-hero-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:center!important;
  width:min(34vw,520px)!important;
  max-width:520px!important;
  min-width:280px!important;
  padding:clamp(10px,1.4vw,22px)!important;
  position:relative!important;
  z-index:2!important;
  pointer-events:none!important;
}
.spp .spp-hero-logo img,
.spp .spp-hero-logo .spp-logo-hero{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  border-radius:0!important;
  object-fit:contain!important;
  box-shadow:none!important;
  background:transparent!important;
}
.spp .spp-site-footer .spp-footer-logo{
  display:none!important;
}
.spp .spp-nav nav .spp-nav-social{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin-left:4px!important;
}
.spp .spp-nav nav .spp-social-link{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(183,131,53,.36)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,248,239,.82))!important;
  color:#8a561b!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  box-shadow:0 8px 22px rgba(130,82,25,.08)!important;
}
.spp .spp-nav nav .spp-social-link svg{
  width:17px!important;
  height:17px!important;
  display:block!important;
  fill:currentColor!important;
  stroke:currentColor!important;
  stroke-width:0!important;
}
.spp .spp-nav nav .spp-social-link:hover,
.spp .spp-nav nav .spp-social-link:focus{
  color:#fff!important;
  background:linear-gradient(135deg,#d5a95f,#96631d)!important;
  outline:none!important;
}
@media(max-width:1180px){
  .spp .spp-hero{
    grid-template-columns:minmax(0,1fr) minmax(250px,0.72fr)!important;
    column-gap:clamp(22px,4vw,72px)!important;
  }
  .spp .spp-hero-logo{
    width:min(36vw,430px)!important;
    min-width:250px!important;
  }
}
@media(max-width:980px){
  .spp .spp-nav nav.is-open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .spp .spp-nav nav .spp-nav-social{
    width:100%!important;
    justify-content:flex-start!important;
    margin:8px 0 2px!important;
    padding:8px 6px 2px!important;
    border-top:1px solid rgba(183,131,53,.12)!important;
  }
  .spp .spp-nav nav .spp-social-link{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    font-size:13px!important;
  }
  .spp .spp-hero{
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:clamp(28px,5vw,48px)!important;
    text-align:center!important;
  }
  .spp .spp-hero-copy{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .spp .spp-orn{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .spp .spp-actions{
    justify-content:center!important;
  }
  .spp .spp-hero-logo{
    width:min(72vw,340px)!important;
    min-width:0!important;
    max-width:340px!important;
    order:2!important;
    margin:0 auto!important;
  }
}
@media(max-width:640px){
  .spp .spp-hero{
    padding-top:clamp(28px,8vw,48px)!important;
  }
  .spp .spp-actions .spp-btn{
    width:100%!important;
  }
  .spp .spp-hero-logo{
    width:min(76vw,280px)!important;
    max-width:280px!important;
    padding:4px!important;
  }
}
@media(max-width:420px){
  .spp .spp-hero-logo{
    width:min(78vw,230px)!important;
    max-width:230px!important;
  }
  .spp .spp-nav nav .spp-social-link{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
  }
}



/* v10.2.3: twardy fallback CSS dla mobile menu.
   Wymusza widoczność po klasie na nav albo headerze, nawet gdy starsze reguły z !important ukrywają menu. */
@media(max-width:980px){
  .spp .spp-nav,
  .spp-nav{
    position:sticky!important;
    top:0!important;
    z-index:99990!important;
    overflow:visible!important;
  }
  .admin-bar .spp .spp-nav,
  .admin-bar .spp-nav{
    top:46px!important;
  }
  .spp .spp-nav button.spp-menu-toggle,
  .spp-nav button.spp-menu-toggle,
  button.spp-menu-toggle{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:relative!important;
    z-index:100002!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:rgba(183,131,53,.18)!important;
  }
  .spp .spp-nav nav,
  .spp-nav nav{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .18s ease, transform .18s ease!important;
  }
  .spp .spp-nav nav.is-open,
  .spp-nav nav.is-open,
  .spp .spp-nav.spp-nav-open nav,
  .spp-nav.spp-nav-open nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    width:100%!important;
    flex:1 1 100%!important;
    flex-direction:column!important;
    gap:0!important;
    order:99!important;
    margin-top:10px!important;
    padding:10px!important;
    border:1px solid rgba(183,131,53,.22)!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 22px 56px rgba(84,53,18,.18)!important;
    z-index:100001!important;
  }
  .spp .spp-nav nav.is-open a,
  .spp-nav nav.is-open a,
  .spp .spp-nav.spp-nav-open nav a,
  .spp-nav.spp-nav-open nav a{
    display:flex!important;
    align-items:center!important;
    min-height:46px!important;
    width:100%!important;
    padding:13px 12px!important;
    border-bottom:1px solid rgba(183,131,53,.12)!important;
    white-space:normal!important;
  }
  .spp .spp-nav nav.is-open .spp-nav-social,
  .spp-nav nav.is-open .spp-nav-social,
  .spp .spp-nav.spp-nav-open nav .spp-nav-social,
  .spp-nav.spp-nav-open nav .spp-nav-social{
    display:flex!important;
    width:100%!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:12px 6px 4px!important;
    margin:4px 0 0!important;
    border-top:1px solid rgba(183,131,53,.12)!important;
  }
}


/* v10.2.4: finalny fallback menu mobile oparty o ID i klasę headera.
   Cel: wymusić otwarcie menu na iPhone/Android nawet przy starszych regułach display:none!important. */
@media (max-width: 980px){
  .spp-nav{overflow:visible!important;}
  #spp-global-menu{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  #spp-global-menu.is-open,
  .spp-nav.spp-nav-open #spp-global-menu{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    position:relative!important;
    width:100%!important;
    flex:1 1 100%!important;
    flex-direction:column!important;
    order:99!important;
    margin-top:10px!important;
    z-index:100004!important;
  }
  #spp-global-menu.is-open a,
  .spp-nav.spp-nav-open #spp-global-menu a{
    display:flex!important;
    width:100%!important;
    min-height:48px!important;
    align-items:center!important;
  }
}


/* v10.2.5: izolacja kolorów linków przed Hello Elementor / Elementor Site Settings.
   Hello Elementor potrafi nadać globalny kolor dla wszystkich linków przez .elementor-kit a lub body a.
   Poniższe reguły są celowo ograniczone do wrappera .spp i menu #spp-global-menu, żeby nie zmieniać reszty strony. */
.spp .spp-nav a,
.spp .spp-nav a:link,
.spp .spp-nav a:visited,
.spp .spp-nav a:active,
.spp .spp-nav nav a,
.spp .spp-nav nav a:link,
.spp .spp-nav nav a:visited,
.spp .spp-nav nav a:active,
.spp #spp-global-menu a,
.spp #spp-global-menu a:link,
.spp #spp-global-menu a:visited,
.spp #spp-global-menu a:active,
.spp-nav #spp-global-menu a,
.spp-nav #spp-global-menu a:link,
.spp-nav #spp-global-menu a:visited,
.spp-nav #spp-global-menu a:active{
  color:#7b4b18!important;
  text-decoration:none!important;
  -webkit-text-fill-color:#7b4b18!important;
}

.spp .spp-nav a:hover,
.spp .spp-nav a:focus,
.spp .spp-nav nav a:hover,
.spp .spp-nav nav a:focus,
.spp #spp-global-menu a:hover,
.spp #spp-global-menu a:focus,
.spp-nav #spp-global-menu a:hover,
.spp-nav #spp-global-menu a:focus{
  color:#9a6420!important;
  text-decoration:none!important;
  -webkit-text-fill-color:#9a6420!important;
}

.spp .spp-nav nav a.active,
.spp .spp-nav nav a.active:visited,
.spp #spp-global-menu a.active,
.spp #spp-global-menu a.active:visited,
.spp-nav #spp-global-menu a.active,
.spp-nav #spp-global-menu a.active:visited{
  color:#8a561b!important;
  -webkit-text-fill-color:#8a561b!important;
  border-bottom-color:#b78335!important;
}

.spp .spp-nav .spp-social-link,
.spp .spp-nav .spp-social-link:link,
.spp .spp-nav .spp-social-link:visited,
.spp #spp-global-menu .spp-social-link,
.spp #spp-global-menu .spp-social-link:link,
.spp #spp-global-menu .spp-social-link:visited{
  color:#8a561b!important;
  -webkit-text-fill-color:#8a561b!important;
}

.spp .spp-nav .spp-social-link:hover,
.spp .spp-nav .spp-social-link:focus,
.spp #spp-global-menu .spp-social-link:hover,
.spp #spp-global-menu .spp-social-link:focus{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Mobile: mocniejsza specyficzność dla rozwiniętego menu, bo Elementor/Hello potrafi ładować style po CSS wtyczki. */
@media(max-width:980px){
  body .spp #spp-global-menu.is-open a,
  body .spp #spp-global-menu.is-open a:link,
  body .spp #spp-global-menu.is-open a:visited,
  body .spp .spp-nav.spp-nav-open #spp-global-menu a,
  body .spp .spp-nav.spp-nav-open #spp-global-menu a:link,
  body .spp .spp-nav.spp-nav-open #spp-global-menu a:visited,
  body .spp-nav.spp-nav-open #spp-global-menu a,
  body .spp-nav.spp-nav-open #spp-global-menu a:link,
  body .spp-nav.spp-nav-open #spp-global-menu a:visited{
    color:#7b4b18!important;
    -webkit-text-fill-color:#7b4b18!important;
    text-decoration:none!important;
  }

  body .spp #spp-global-menu.is-open a:hover,
  body .spp #spp-global-menu.is-open a:focus,
  body .spp .spp-nav.spp-nav-open #spp-global-menu a:hover,
  body .spp .spp-nav.spp-nav-open #spp-global-menu a:focus,
  body .spp-nav.spp-nav-open #spp-global-menu a:hover,
  body .spp-nav.spp-nav-open #spp-global-menu a:focus{
    color:#9a6420!important;
    -webkit-text-fill-color:#9a6420!important;
  }

  body .spp #spp-global-menu.is-open a.active,
  body .spp .spp-nav.spp-nav-open #spp-global-menu a.active,
  body .spp-nav.spp-nav-open #spp-global-menu a.active{
    color:#8a561b!important;
    -webkit-text-fill-color:#8a561b!important;
  }

  body .spp #spp-global-menu.is-open .spp-social-link:hover,
  body .spp #spp-global-menu.is-open .spp-social-link:focus,
  body .spp .spp-nav.spp-nav-open #spp-global-menu .spp-social-link:hover,
  body .spp .spp-nav.spp-nav-open #spp-global-menu .spp-social-link:focus{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
}

/* v10.2.6: profesjonalny, wspólny hardfix menu dla strony głównej i podstron.
   Poprzednie poprawki obejmowały głównie #spp-global-menu, przez co strona główna z #spp-home-menu nie miała pełnego fallbacku. */
.spp-nav nav .spp-nav-social,
.spp .spp-nav nav .spp-nav-social{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin-left:4px!important;
}
.spp-nav nav .spp-social-link,
.spp .spp-nav nav .spp-social-link,
.spp-nav #spp-global-menu .spp-social-link,
.spp-nav #spp-home-menu .spp-social-link{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(183,131,53,.36)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,248,239,.82))!important;
  color:#8a561b!important;
  -webkit-text-fill-color:#8a561b!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 8px 22px rgba(130,82,25,.08)!important;
}
.spp-nav nav .spp-social-link svg,
.spp .spp-nav nav .spp-social-link svg,
.spp-nav #spp-global-menu .spp-social-link svg,
.spp-nav #spp-home-menu .spp-social-link svg{
  width:17px!important;
  height:17px!important;
  display:block!important;
  fill:currentColor!important;
  stroke:currentColor!important;
  stroke-width:0!important;
}
.spp-nav nav .spp-social-link:hover,
.spp-nav nav .spp-social-link:focus,
.spp .spp-nav nav .spp-social-link:hover,
.spp .spp-nav nav .spp-social-link:focus{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,#d5a95f,#96631d)!important;
  outline:none!important;
}

@media(max-width:980px){
  .spp-nav{overflow:visible!important;}
  .spp-nav #spp-home-menu,
  .spp-nav #spp-global-menu,
  .spp .spp-nav #spp-home-menu,
  .spp .spp-nav #spp-global-menu{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
  }
  .spp-nav #spp-home-menu.is-open,
  .spp-nav #spp-global-menu.is-open,
  .spp-nav.spp-nav-open #spp-home-menu,
  .spp-nav.spp-nav-open #spp-global-menu,
  .spp .spp-nav #spp-home-menu.is-open,
  .spp .spp-nav #spp-global-menu.is-open,
  .spp .spp-nav.spp-nav-open #spp-home-menu,
  .spp .spp-nav.spp-nav-open #spp-global-menu{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    transform:none!important;
    position:relative!important;
    width:100%!important;
    flex:1 1 100%!important;
    flex-direction:column!important;
    order:99!important;
    margin-top:10px!important;
    padding:10px!important;
    border:1px solid rgba(183,131,53,.22)!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 22px 56px rgba(84,53,18,.18)!important;
    z-index:100004!important;
  }
  .spp-nav #spp-home-menu.is-open a,
  .spp-nav #spp-global-menu.is-open a,
  .spp-nav.spp-nav-open #spp-home-menu a,
  .spp-nav.spp-nav-open #spp-global-menu a,
  .spp .spp-nav #spp-home-menu.is-open a,
  .spp .spp-nav #spp-global-menu.is-open a,
  .spp .spp-nav.spp-nav-open #spp-home-menu a,
  .spp .spp-nav.spp-nav-open #spp-global-menu a{
    display:flex!important;
    width:100%!important;
    min-height:48px!important;
    align-items:center!important;
    padding:13px 12px!important;
    border-bottom:1px solid rgba(183,131,53,.12)!important;
    color:#7b4b18!important;
    -webkit-text-fill-color:#7b4b18!important;
    text-decoration:none!important;
  }
  .spp-nav #spp-home-menu.is-open .spp-nav-social,
  .spp-nav #spp-global-menu.is-open .spp-nav-social,
  .spp-nav.spp-nav-open #spp-home-menu .spp-nav-social,
  .spp-nav.spp-nav-open #spp-global-menu .spp-nav-social,
  .spp .spp-nav #spp-home-menu.is-open .spp-nav-social,
  .spp .spp-nav #spp-global-menu.is-open .spp-nav-social,
  .spp .spp-nav.spp-nav-open #spp-home-menu .spp-nav-social,
  .spp .spp-nav.spp-nav-open #spp-global-menu .spp-nav-social{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:12px 6px 4px!important;
    margin:4px 0 0!important;
    border-top:1px solid rgba(183,131,53,.12)!important;
  }
  .spp-nav #spp-home-menu.is-open .spp-social-link,
  .spp-nav #spp-global-menu.is-open .spp-social-link,
  .spp-nav.spp-nav-open #spp-home-menu .spp-social-link,
  .spp-nav.spp-nav-open #spp-global-menu .spp-social-link,
  .spp .spp-nav #spp-home-menu.is-open .spp-social-link,
  .spp .spp-nav #spp-global-menu.is-open .spp-social-link,
  .spp .spp-nav.spp-nav-open #spp-home-menu .spp-social-link,
  .spp .spp-nav.spp-nav-open #spp-global-menu .spp-social-link{
    display:inline-flex!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    max-width:42px!important;
    padding:0!important;
    flex:0 0 42px!important;
    border-bottom:1px solid rgba(183,131,53,.36)!important;
    color:#8a561b!important;
    -webkit-text-fill-color:#8a561b!important;
  }
}

/* v10.2.7: całkowicie nowe menu mobilne jako off-canvas drawer.
   Celowo używa prefiksu .sppx- i osobnego markup, żeby ominąć konflikty ze starym #spp-home-menu/#spp-global-menu,
   Hello Elementor, globalnymi kolorami linków oraz podwójnym click/touchend na iOS Safari. */
.spp-nav nav .spp-nav-social,
.spp .spp-nav nav .spp-nav-social{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-left:8px!important;
  white-space:nowrap!important;
}
.spp-nav nav .spp-social-link,
.spp .spp-nav nav .spp-social-link,
.spp-nav #spp-home-menu .spp-social-link,
.spp-nav #spp-global-menu .spp-social-link{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:1px solid rgba(183,131,53,.34)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,248,239,.88))!important;
  color:#7b4b18!important;
  -webkit-text-fill-color:#7b4b18!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 8px 22px rgba(130,82,25,.08)!important;
}
.spp-nav nav .spp-social-mark,
.spp .spp-nav nav .spp-social-mark{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#b78335!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:13px!important;
  font-family:Arial, sans-serif!important;
  font-weight:900!important;
}
.spp-nav nav .spp-social-text,
.spp .spp-nav nav .spp-social-text{
  display:inline!important;
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
.spp-nav nav .spp-social-link:hover,
.spp-nav nav .spp-social-link:focus,
.spp .spp-nav nav .spp-social-link:hover,
.spp .spp-nav nav .spp-social-link:focus{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,#d4a252,#96631d)!important;
  outline:2px solid rgba(183,131,53,.24)!important;
  outline-offset:2px!important;
}
.sppx-mobile-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:1000000!important;
  background:rgba(43,39,35,.42)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .24s ease!important;
  -webkit-tap-highlight-color:transparent!important;
}
.sppx-mobile-backdrop.is-open{
  opacity:1!important;
  pointer-events:auto!important;
}
.sppx-mobile-drawer{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  z-index:1000001!important;
  width:min(88vw,390px)!important;
  max-width:390px!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  background:linear-gradient(180deg,#fffdf9 0%,#fff8ef 100%)!important;
  border-left:1px solid rgba(183,131,53,.24)!important;
  box-shadow:-28px 0 80px rgba(64,40,16,.28)!important;
  transform:translateX(104%)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  transition:transform .28s cubic-bezier(.22,1,.36,1)!important;
  padding:18px 18px calc(28px + env(safe-area-inset-bottom,0px))!important;
  box-sizing:border-box!important;
  color:#2b2723!important;
  -webkit-text-fill-color:initial!important;
}
.sppx-mobile-drawer.is-open{
  transform:translateX(0)!important;
  pointer-events:auto!important;
}
.sppx-mobile-drawer-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding-bottom:16px!important;
  margin-bottom:14px!important;
  border-bottom:1px solid rgba(183,131,53,.18)!important;
}
.sppx-mobile-drawer-brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
}
.sppx-mobile-drawer-brand img{
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
  display:block!important;
  flex:0 0 48px!important;
}
.sppx-mobile-drawer-brand strong{
  font-family:Georgia,serif!important;
  font-size:18px!important;
  line-height:1.15!important;
  color:#2b2723!important;
  -webkit-text-fill-color:#2b2723!important;
}
.sppx-mobile-close{
  width:46px!important;
  height:46px!important;
  border:1px solid rgba(183,131,53,.28)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#7b4b18!important;
  -webkit-text-fill-color:#7b4b18!important;
  font-size:34px!important;
  line-height:38px!important;
  font-weight:400!important;
  cursor:pointer!important;
  box-shadow:0 12px 28px rgba(130,82,25,.10)!important;
}
.sppx-mobile-links{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:0 0 18px!important;
}
.sppx-mobile-links a,
.sppx-mobile-links a:link,
.sppx-mobile-links a:visited{
  display:flex!important;
  align-items:center!important;
  min-height:54px!important;
  padding:15px 16px!important;
  border:1px solid rgba(183,131,53,.18)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#6f4314!important;
  -webkit-text-fill-color:#6f4314!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 10px 28px rgba(130,82,25,.07)!important;
}
.sppx-mobile-links a:hover,
.sppx-mobile-links a:focus{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,#d0a052,#96631d)!important;
  outline:none!important;
}
.sppx-mobile-social{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin:16px 0!important;
}
.sppx-social-pill,
.sppx-social-pill:link,
.sppx-social-pill:visited{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:54px!important;
  padding:12px 10px!important;
  border-radius:18px!important;
  border:1px solid rgba(183,131,53,.22)!important;
  background:linear-gradient(180deg,#fff,#fff6e9)!important;
  color:#744616!important;
  -webkit-text-fill-color:#744616!important;
  text-decoration:none!important;
  box-shadow:0 12px 30px rgba(130,82,25,.09)!important;
}
.sppx-social-pill span{
  width:28px!important;
  height:28px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#b78335!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:19px!important;
  font-family:Arial,sans-serif!important;
  font-weight:900!important;
}
.sppx-social-pill b{
  font-size:15px!important;
  line-height:1!important;
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
.sppx-mobile-call,
.sppx-mobile-call:link,
.sppx-mobile-call:visited{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:56px!important;
  margin-top:14px!important;
  padding:14px!important;
  border-radius:999px!important;
  border:1px solid rgba(183,131,53,.32)!important;
  background:#fff!important;
  color:#744616!important;
  -webkit-text-fill-color:#744616!important;
  text-decoration:none!important;
  font-size:17px!important;
  font-weight:900!important;
  box-shadow:0 16px 36px rgba(130,82,25,.10)!important;
}
html.sppx-menu-open,
body.sppx-menu-open{
  overflow:hidden!important;
  touch-action:none!important;
}
@media(min-width:981px){
  .sppx-mobile-backdrop,
  .sppx-mobile-drawer{
    display:none!important;
  }
}
@media(max-width:980px){
  .spp-nav #spp-home-menu,
  .spp-nav #spp-global-menu,
  .spp .spp-nav #spp-home-menu,
  .spp .spp-nav #spp-global-menu{
    display:none!important;
  }
  .sppx-menu-button{
    display:flex!important;
    min-height:52px!important;
    min-width:122px!important;
    justify-content:center!important;
    background:linear-gradient(180deg,#f2cf83,#b47a25)!important;
    border:2px solid rgba(160,104,31,.36)!important;
    box-shadow:0 10px 26px rgba(130,82,25,.18)!important;
    color:#2b2723!important;
    -webkit-text-fill-color:#2b2723!important;
  }
  .sppx-menu-button b{
    font-size:18px!important;
    color:#2b2723!important;
    -webkit-text-fill-color:#2b2723!important;
  }
}
@media(max-width:420px){
  .sppx-mobile-drawer{
    width:92vw!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .sppx-mobile-social{
    grid-template-columns:1fr!important;
  }
}

.sppa-contact-actions{display:flex;gap:12px;flex-wrap:wrap}.sppa-contact-note{color:var(--spp-muted,#6d6259);font-size:.95rem}
