/*
Theme Name: Silly Johnny
Author: Silly Johnny
Description: Local deals directory for Calgary, Banff and Canmore, with editable offers and private business enquiries.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: sillyjohnny
*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;650;700;800&display=swap');
:root{--blue:#0751db;--navy:#101d38;--yellow:#ffdc24;--ink:#16213a;--muted:#5f6879;--line:#e3e7ee;--soft:#f5f7fb;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6;background:white}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1972f6;outline-offset:4px}img{max-width:100%;display:block}svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-.02em}h3{font-size:20px;letter-spacing:-.025em}p{margin-top:14px}em{font-style:normal;color:var(--blue)}.container{width:min(1220px,calc(100% - 88px));margin:auto}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;border:0;border-radius:9px;padding:15px 22px;min-height:52px;font-size:15px;font-weight:800;line-height:1.4;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button-yellow{background:var(--yellow);color:var(--navy)}.button-yellow:hover{background:#f9cd00;color:var(--navy)}.button-blue{background:var(--blue);color:white}.button-blue:hover{background:#043fab;color:white}.preview-bar{text-align:center;background:var(--navy);color:white;padding:7px 16px;font-size:12px;font-weight:500;letter-spacing:.01em}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:102px;gap:30px}.wordmark{display:flex;align-items:center;gap:10px}.wordmark>img{width:68px;height:68px;object-fit:contain}.wordmark>span{font:900 27px/.82 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.5px;color:var(--navy)}.wordmark>span>span{display:block}.brand-dot{color:var(--blue)}nav{display:flex;align-items:center;gap:35px;font-size:14px;font-weight:700}nav>a[aria-current]{color:var(--blue)}.hero{background:linear-gradient(120deg,#f5f8ff 0%,#f8fbff 52%,#fff 52%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:40px;min-height:490px}.hero-copy{padding:34px 0 46px}.local-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #d7e4ff;background:#eaf1ff;color:#214ea0;padding:8px 13px;border-radius:30px;font-size:12px;font-weight:800;letter-spacing:.07em}.local-pill svg{width:16px;height:16px}.hero h1{font-size:clamp(66px,6.8vw,98px);font-weight:800;line-height:.94;margin-top:23px}.hero-copy>p{font-size:18px;line-height:1.7;color:#536076;margin-top:24px}.hero-link{display:inline-flex;align-items:center;gap:16px;font-weight:800;font-size:14px;color:var(--navy);margin-top:22px}.hero-link svg{color:var(--blue)}.hero-brand{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:12px 5px}.hero-brand>img{width:415px;height:415px;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-5deg)}.round-label{position:absolute;font:800 15px/1.04 'Barlow Condensed',Impact,sans-serif;text-align:center;letter-spacing:.035em;z-index:1}.label-one{top:54px;right:0;transform:rotate(12deg);background:var(--yellow);padding:19px 13px;border-radius:50%;border:2px dashed #ccad05}.label-two{bottom:45px;left:-14px;background:var(--blue);color:#fff;padding:16px 17px;transform:rotate(-8deg);border-radius:12px;box-shadow:5px 5px 0 #d9e8ff}.eyebrow{font-size:12px;letter-spacing:.11em;font-weight:800;color:var(--blue);margin:0 0 12px}.directory{padding-top:47px;padding-bottom:72px}.directory-intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:25px}.directory h2{font-size:39px}.no-membership{font-size:13px;color:#506076;display:flex;align-items:center;gap:6px;padding-bottom:7px}.no-membership svg{width:17px;color:#20805a}.search-bar{display:flex;align-items:stretch;gap:0;border:1px solid #ced5e1;border-radius:12px;background:white;padding:6px;box-shadow:0 6px 20px #12295705}.search-field{flex:1;display:flex;align-items:center;gap:12px;padding:0 18px;min-width:0}.search-field svg{color:#667995}.search-field input{border:0;background:transparent;width:100%;padding:10px 0;outline-offset:0;font-size:15px}.location-field{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding:0 20px;color:var(--blue)}.location-field select{border:0;background:white;color:var(--ink);min-width:160px;max-width:100%;font-size:14px;cursor:pointer}.search-bar .button{white-space:nowrap}.categories{display:flex;gap:9px;flex-wrap:wrap;padding:23px 0 25px}.category{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:9px 13px;border-radius:50px;font-size:13px;font-weight:650;line-height:1.5;background:white;color:#566173;transition:background .15s}.category svg{width:17px;height:17px}.category:hover{border-color:var(--blue);color:var(--blue)}.category.active{background:var(--navy);color:white;border-color:var(--navy)}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:9px 0 0}.results-heading h3{font-size:17px;font-weight:700}.results-heading>span{font-size:13px;color:var(--muted);white-space:nowrap}.demo-note{font-size:13px;color:#647187;margin:8px 0 23px}.deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:24px}.deal-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.deal-card:hover{box-shadow:0 12px 28px #152b4910;transform:translateY(-3px)}.card-art{height:170px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:22px}.tone-blue{background:#e7efff;color:#184da8}.tone-yellow{background:#fff1ae;color:#625521}.tone-pink{background:#f8e8e8;color:#885361}.tone-green{background:#e2f1eb;color:#386d59}.brand-monogram{font-family:'Barlow Condensed',Impact,sans-serif;font-size:72px;font-weight:700;letter-spacing:-4px;line-height:1}.category-art{margin-left:20px;opacity:.5}.category-art svg{width:58px;height:58px;stroke-width:1.3}.card-category{position:absolute;left:17px;bottom:14px;background:#ffffffc9;padding:4px 9px;border-radius:5px;font-size:11px;font-weight:800;letter-spacing:.025em}.sample-badge{position:absolute;right:14px;top:13px;border:1px solid currentColor;border-radius:4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;padding:2px 6px}.card-art>img{height:105px;max-width:80%;object-fit:contain}.card-content{padding:20px 22px 19px;display:flex;flex-direction:column;flex:1}.card-location{display:flex;align-items:center;gap:5px;color:#667389;font-size:12px;font-weight:500;margin-bottom:10px}.card-location svg{width:14px;height:14px}.card-content h3{font-size:20px;line-height:1.25;font-weight:800}.offer{font-size:16px;font-weight:800;color:var(--blue);line-height:1.5;margin-top:10px}.card-description{font-size:14px;line-height:1.6;color:var(--muted);margin-top:8px;margin-bottom:19px}.card-link{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:800}.card-link svg{width:20px;color:var(--blue)}.empty-results{text-align:center;background:var(--soft);border-radius:var(--radius);padding:50px 20px;margin-top:20px}.empty-results>svg{width:36px;height:36px;color:var(--blue);margin-bottom:20px}.empty-results .button{margin-top:20px}[hidden]{display:none!important}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-bottom:35px}.section-heading h2{font-size:48px}.section-heading>p{color:var(--muted);max-width:385px;font-size:16px}.how-section{background:var(--soft);padding:64px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps article{border-top:1px solid #d3ddea;padding-top:24px}.steps article>span{font:700 40px/1 'Barlow Condensed',Impact,sans-serif;color:var(--blue);display:block;margin-bottom:19px}.steps h3{font-size:19px}.steps p{font-size:15px;color:var(--muted);max-width:310px}.business-banner{background:var(--blue);color:white;display:flex;justify-content:space-between;gap:50px;align-items:center;padding:44px 52px;border-radius:20px;margin:68px 0}.business-banner .eyebrow{color:#ffde38}.business-banner h2{font-size:48px}.business-banner p{color:#deebff;font-size:16px}.banner-action{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;max-width:350px}.banner-price{font:800 74px/1 'Barlow Condensed',Impact,sans-serif;color:var(--yellow)}.banner-price>span{font:500 17px 'DM Sans',Arial,sans-serif;color:white;letter-spacing:0}.banner-action>span:last-child{font-size:12px;color:#dce9ff;max-width:300px}.site-footer{border-top:1px solid var(--line)}.footer-main{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:35px 0}.footer-main p{font-size:14px;color:var(--muted);margin:0;margin-right:auto}.footer-main>div{display:flex;gap:25px;font-size:13px;font-weight:650}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 0 24px;color:#717b8c;font-size:12px}.business-hero{background:#f1f5fd;padding:64px 0}.business-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:85px;align-items:center}.business-hero h1{font-size:70px;line-height:1.02}.lead{font-size:19px;color:#59667b;max-width:490px;margin:23px 0}.business-hero .small{font-size:13px;color:var(--muted)}.pricing-card{background:white;padding:30px;border-radius:20px;border:1px solid #d5e0f5;box-shadow:0 15px 35px #1238780c}.price-label{font-size:12px;letter-spacing:.06em;font-weight:800;background:var(--yellow);display:block;text-align:center;padding:10px;border-radius:6px}.price{font:800 120px/1 'Barlow Condensed',Impact,sans-serif;color:var(--navy);letter-spacing:-4px;margin-top:22px;display:flex;align-items:flex-start;justify-content:center}.price>span:first-child{font-size:52px;margin-top:14px}.price .currency{font:700 12px 'DM Sans',Arial,sans-serif;margin-top:24px;letter-spacing:0;margin-left:8px}.pricing-card>strong{font-size:21px;display:block;text-align:center}.pricing-card>p{font-size:13px;color:var(--muted);text-align:center}.pricing-card ul{list-style:none;padding:20px 0;margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pricing-card li{display:flex;align-items:center;gap:10px;font-size:14px;padding:5px 0}.pricing-card li svg{width:18px;color:var(--blue)}.pricing-card>.button{width:100%}.partner-section{padding:66px 0}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.benefit-grid article>svg{color:var(--blue);width:31px;height:31px;margin-bottom:20px}.benefit-grid p{font-size:15px;color:var(--muted)}.apply-section{background:var(--soft);padding:65px 0}.apply-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}.apply-grid h2{font-size:58px}.apply-grid>div>p{color:var(--muted);max-width:370px}.flyer-link{display:block;margin-top:30px;max-width:235px}.flyer-link>img{border-radius:9px;box-shadow:0 6px 20px #11284b18}.flyer-link>span{display:block;font-size:12px;color:var(--blue);margin-top:10px;font-weight:700}.form-panel{border:1px solid var(--line);border-radius:16px;background:white;padding:30px;align-self:start}.business-form{display:flex;flex-direction:column;gap:19px}.business-form label{font-size:14px;font-weight:700;display:block}.business-form label>span:not(.optional){color:var(--blue)}.business-form input:not([type=checkbox]),.business-form select,.business-form textarea{width:100%;display:block;border:1px solid #cbd3df;border-radius:7px;background:white;padding:12px 13px;font-size:14px;color:var(--ink);margin-top:7px}.business-form textarea{resize:vertical}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px}.business-form .optional{color:#768091;font-size:12px;font-weight:400}.business-form .consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;line-height:1.6}.business-form .consent>span{color:var(--muted)!important}.consent input{margin-top:4px;width:17px;height:17px;flex-shrink:0}.consent a{color:var(--blue);text-decoration:underline}.form-note{font-size:12px;text-align:center;color:var(--muted);margin:0}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.notice{padding:15px 18px;border-radius:8px;border:1px solid #e8cf7b;background:#fff9e7;font-size:14px;margin:15px 0 20px}.notice.success{border-color:#98d0b0;background:#edf9f1;color:#235c3b}.detail-wrap{padding-top:34px;padding-bottom:80px}.back-link{font-size:14px;color:var(--blue);font-weight:700;display:inline-block;margin-bottom:35px}.detail-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.detail-art{min-height:390px;display:flex;align-items:center;justify-content:center;border-radius:22px;gap:25px}.detail-art .brand-monogram{font-size:130px}.detail-art>svg{width:90px;height:90px;opacity:.55}.detail-art>img{max-width:80%;max-height:290px;object-fit:contain}.detail-copy h1{font-size:60px}.detail-offer{font-size:25px;color:var(--blue);font-weight:800;line-height:1.3}.detail-copy>p{color:var(--muted)}.detail-copy>p.detail-offer{color:var(--blue)}.redeem-box{padding:25px;background:var(--soft);border-radius:12px;margin:28px 0}.redeem-box h2{font-family:'DM Sans',Arial,sans-serif;font-size:20px;display:flex;gap:10px;align-items:center}.redeem-box p{font-size:15px}.redeem-box .button{margin-top:22px}.muted{font-size:14px;color:var(--muted)}.legal{max-width:780px;padding-top:55px;padding-bottom:75px}.legal h1{font-size:60px}.legal h2{font-family:'DM Sans',Arial,sans-serif;font-size:23px;margin-top:30px}.legal p{color:var(--muted)}.legal .button{margin-top:30px}.empty-page{padding-top:80px;padding-bottom:80px}.empty-page h1{font-size:60px}.empty-page .button{margin-top:25px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:10000;top:10px;left:10px;padding:14px;background:var(--yellow);color:var(--ink)}
@media(min-width:1600px){.hero-grid{min-height:525px}.hero-brand>img{width:455px;height:455px}}
@media(max-width:1050px){.container{width:calc(100% - 48px)}nav{gap:20px}.hero-grid{gap:12px}.hero-brand>img{width:350px;height:350px}.label-one{right:-10px;top:60px}.hero-grid{min-height:445px}.hero h1{font-size:78px}.hero-copy>p{font-size:17px}.deal-grid{gap:18px}.card-content{padding:18px}.search-bar .button{padding:13px 16px}.location-field{padding:0 10px}.location-field select{min-width:125px}.section-heading h2{font-size:43px}.business-hero-grid{gap:35px}.business-hero h1{font-size:60px}.apply-grid{gap:35px}.business-banner{padding:35px}.footer-main>div{gap:15px}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.preview-bar{font-size:11px;padding:7px 12px}.header-inner{min-height:80px;gap:12px}.wordmark>img{width:46px;height:46px}.wordmark>span{font-size:23px}nav{gap:0}nav>a:not(.header-cta){display:none}.header-cta{font-size:12px;min-height:42px;padding:10px 13px;gap:8px}.header-cta svg{width:17px}.hero-grid{min-height:0;grid-template-columns:1.12fr .88fr;gap:0}.hero-copy{padding:29px 0 36px}.local-pill{font-size:9px;padding:6px 7px;letter-spacing:.025em;white-space:nowrap}.local-pill svg{width:12px;height:12px}.hero h1{font-size:57px;margin-top:18px}.hero-copy>p{font-size:14px;margin-top:16px;line-height:1.55}.hero-link{font-size:12px;gap:5px;margin-top:17px}.hero-link svg{width:17px}.hero-brand{padding:0;min-width:0}.hero-brand>img{width:235px;max-width:130%;height:auto;transform:rotate(-6deg);margin-left:10px}.round-label{display:none}.directory{padding-top:32px;padding-bottom:45px}.directory-intro{display:block;margin-bottom:18px}.directory h2{font-size:34px}.eyebrow{font-size:10px;margin-bottom:8px}.no-membership{margin-top:12px;font-size:12px}.search-bar{flex-wrap:wrap;padding:7px;gap:7px}.search-field{flex-basis:100%;padding:0 10px;border-bottom:1px solid var(--line);min-height:47px}.search-field input{font-size:14px}.location-field{border:0;flex:1}.location-field select{font-size:13px;min-width:0;width:100%}.search-bar .button{min-height:43px;font-size:13px}.categories{gap:7px;padding:17px 0;flex-wrap:nowrap;overflow-x:auto;margin-right:-18px;padding-right:18px;scrollbar-width:thin}.category{flex-shrink:0;font-size:12px;padding:8px 12px}.category svg{width:15px;height:15px}.results-heading{gap:12px;align-items:flex-start}.results-heading h3{font-size:15px;line-height:1.35;max-width:220px}.results-heading>span{font-size:12px}.demo-note{font-size:12px;margin-bottom:15px;line-height:1.5}.deal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.card-art{height:130px;padding:15px}.brand-monogram{font-size:52px;letter-spacing:-2px}.category-art{margin-left:10px}.category-art svg{width:34px;height:34px}.card-category{font-size:9px;left:10px;bottom:10px;max-width:90%;padding:3px 6px}.sample-badge{font-size:8px;right:9px;top:9px}.card-content{padding:13px}.card-location{font-size:10px;margin-bottom:7px}.card-content h3{font-size:17px}.offer{font-size:14px;line-height:1.4;margin-top:9px}.card-description{font-size:12px;line-height:1.5;margin-bottom:15px}.card-link{font-size:12px;padding-top:10px}.card-link svg{width:17px}.card-art>img{height:75px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:40px}.section-heading>p{font-size:14px;margin-top:15px}.how-section{padding:40px 0}.steps{gap:20px}.steps article{padding-top:16px}.steps article>span{font-size:31px;margin-bottom:13px}.steps h3{font-size:16px;line-height:1.25}.steps p{font-size:13px;line-height:1.6}.business-banner{margin:40px 0;padding:30px 24px;gap:26px;flex-direction:column;align-items:flex-start}.business-banner h2{font-size:43px}.business-banner p{font-size:14px}.banner-action{align-items:flex-start;text-align:left;gap:13px}.banner-price{font-size:65px}.banner-price>span{font-size:15px}.banner-action>span:last-child{font-size:11px}.footer-main{flex-wrap:wrap;gap:20px;padding:28px 0}.footer-main>div{flex-basis:100%;gap:25px;font-size:12px}.footer-main p{font-size:12px;margin-left:auto;margin-right:0}.footer-bottom{font-size:10px;gap:15px;padding:15px 0 20px}.business-hero{padding:35px 0}.business-hero-grid{grid-template-columns:1fr;gap:28px}.business-hero h1{font-size:59px}.lead{font-size:17px}.pricing-card{max-width:480px;width:100%;padding:24px}.pricing-card .price{font-size:105px}.partner-section{padding:40px 0}.benefit-grid{grid-template-columns:1fr;gap:28px}.benefit-grid article>svg{margin-bottom:12px}.benefit-grid p{margin-top:10px}.apply-section{padding:40px 0}.apply-grid{grid-template-columns:1fr;gap:30px}.apply-grid h2{font-size:48px}.flyer-link{max-width:150px;display:none}.form-panel{padding:22px 18px}.field-pair{grid-template-columns:1fr;gap:19px}.detail-wrap{padding-top:24px;padding-bottom:45px}.detail-layout{grid-template-columns:1fr;gap:27px}.detail-art{min-height:230px}.detail-art .brand-monogram{font-size:100px}.detail-art>svg{width:70px;height:70px}.detail-copy h1{font-size:48px}.detail-offer{font-size:23px}.back-link{margin-bottom:22px}.legal{padding-top:35px;padding-bottom:45px}.legal h1,.empty-page h1{font-size:45px}.legal h2{font-size:21px}}
@media(max-width:380px){.wordmark>img{display:none}.hero-grid{grid-template-columns:1fr}.hero-brand{display:none}.hero h1{font-size:67px}.hero-copy>p{font-size:16px}.local-pill{font-size:10px}.deal-grid{grid-template-columns:1fr}.card-art{height:165px}.card-content h3{font-size:20px}.offer{font-size:16px}.card-description{font-size:14px}.card-location{font-size:12px}.card-link{font-size:14px}.steps{grid-template-columns:1fr}.steps p{max-width:none}.footer-bottom{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
