/*
Theme Name: CheddarDogs 2026
Theme URI: https://cheddardogs.ca/
Author: CheddarDogs
Description: A clean, product-first WordPress theme for CheddarDogs.
Version: 0.6.3
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: cheddardogs-2026
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght,SOFT,WONK@9..144,500,50,1;9..144,600,50,1;9..144,700,50,1&display=swap');

:root{--cream:#f8f5ed;--paper:#fffdfa;--ink:#17352d;--ink2:#37564b;--lime:#dce8b8;--sage:#e9eee1;--orange:#e77743;--line:#d9dfd2;--radius:24px;--sans:'DM Sans',Arial,sans-serif;--serif:'Fraunces',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.06}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.04em}h1{font-size:clamp(3.7rem,8vw,7.8rem)}h2{font-size:clamp(2.5rem,4.5vw,4.9rem)}h3{font-family:var(--serif);font-size:1.55rem;letter-spacing:-.025em}.container{width:min(100% - 48px,1312px);margin-inline:auto}.site-header{position:relative;z-index:20;background:var(--cream);border-bottom:1px solid var(--line)}.announcement{background:var(--ink);color:#f7f3e8;text-align:center;padding:8px 20px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.header-inner{display:flex;align-items:center;gap:28px;min-height:84px}.brand{font-family:var(--serif);font-weight:700;font-size:clamp(1.55rem,2.4vw,2rem);letter-spacing:-.07em;white-space:nowrap}.brand span{color:var(--orange)}.brand-terrier{display:inline-block;width:36px;height:36px;object-fit:contain;margin-left:7px;vertical-align:middle;flex:none}.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.5vw,38px);margin-left:auto}.main-nav a{font-size:.86rem;font-weight:700;white-space:nowrap;transition:color .2s}.main-nav a:hover,.footer-links a:hover{color:var(--orange)}.header-shop{background:var(--ink);color:white;padding:12px 21px;border-radius:100px;font-size:.82rem;font-weight:700;white-space:nowrap;transition:transform .2s,background .2s}.header-shop:hover,.btn-dark:hover{background:#285647;transform:translateY(-2px)}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;color:var(--ink);font-size:1.5rem;cursor:pointer}
.hero{padding:48px 0 70px}.hero-grid{display:grid;grid-template-columns:1fr 1.03fr;min-height:610px;gap:40px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#56705e;font-weight:700;font-size:.73rem;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:'';display:block;width:26px;height:2px;background:var(--orange)}.hero h1{margin:28px 0 25px}.hero h1 em{font-style:normal;color:var(--orange)}.hero-copy{max-width:510px;color:var(--ink2);font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:100px;padding:15px 25px;font-weight:700;font-size:.92rem;min-height:54px;transition:transform .2s,background .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:#fff}.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}.btn-outline:hover{background:#e6ecd9}.hero-note{display:flex;align-items:center;gap:8px;margin-top:34px;color:#5a6f60;font-size:.81rem;font-weight:600}.hero-photo{position:relative;min-height:620px;display:grid;place-items:center}.hero-photo:before{content:'';position:absolute;inset:6% 2% 0 8%;border-radius:47% 47% 34% 34%;background:#e8a475;transform:rotate(8deg)}.hero-photo:after{content:'';position:absolute;right:0;top:20px;width:130px;height:130px;border:2px solid #d8bd88;border-radius:50%}.hero-photo-main{position:absolute;inset:5% 11% 8% 13%;width:76%;height:87%;object-fit:cover;object-position:center 43%;border-radius:47% 47% 34% 34%;transform:rotate(-3deg);box-shadow:0 22px 65px #25412d27}.photo-sticker{position:absolute;right:-10px;bottom:62px;display:grid;place-items:center;text-align:center;width:151px;height:151px;border-radius:50%;background:var(--lime);font-family:var(--serif);font-weight:700;line-height:1.1;transform:rotate(12deg);box-shadow:0 12px 35px #24402720;font-size:1.12rem}.photo-sticker span{font-family:var(--sans);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;line-height:1.8}
.quick-strip{background:var(--ink);color:white}.quick-strip-inner{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0}.quick-item{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-right:1px solid #658276}.quick-item:last-child{border-right:0}.quick-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid #8dac98;border-radius:50%;font-size:1rem;color:var(--lime)}
.spotlight{padding:78px 0;background:var(--sage)}
.spotlight-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(30px,6vw,90px)}
.spotlight h2{font-size:clamp(3.1rem,5vw,5.5rem);margin:22px 0}
.spotlight h2 em{font-style:normal;color:var(--orange)}
.spotlight-intro p{max-width:450px;color:var(--ink2);font-size:1.08rem;line-height:1.7;margin-bottom:26px}
.spotlight-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.spotlight-product{display:block;width:min(100%,500px);justify-self:center;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:26px;box-shadow:0 20px 50px #17352d14;transition:transform .25s,box-shadow .25s}
.spotlight-product:hover{transform:translateY(-5px);box-shadow:0 26px 54px #17352d20}
.spotlight-card-media{position:relative;display:grid;place-items:center;aspect-ratio:1.06;overflow:hidden;border-radius:18px;background:#e8e5dc}
.spotlight-card-media img{width:auto;max-width:100%;height:100%;object-fit:contain;border-radius:15px;transition:transform .45s}
.spotlight-product:hover .spotlight-card-media img{transform:scale(1.035)}
.spotlight-card-badge{position:absolute;top:16px;left:16px;padding:8px 12px;border-radius:100px;background:#fffdfa;color:var(--ink);font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 3px 12px #17352d20}
.spotlight-card-info{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 12px 9px}
.spotlight-card-info h3{font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,2rem);margin:0 0 6px}
.spotlight-card-prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:11px}
.spotlight-card-prices del{color:#87958a;font-size:.88rem}
.spotlight-card-prices strong{font-size:1.1rem;color:var(--ink)}
.spotlight-card-price-note{color:#64776b;font-size:.82rem}
.spotlight-card-arrow{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:var(--ink);color:white;font-size:1.15rem}
.section{padding:104px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head h2{margin:15px 0 0}.section-head p{color:var(--ink2);max-width:400px;margin:0}.text-link{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--ink);padding-bottom:4px;font-weight:700;font-size:.88rem;white-space:nowrap}.text-link:hover{color:var(--orange);border-color:var(--orange)}
.category-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.category-card{position:relative;display:flex;align-items:end;overflow:hidden;min-height:365px;border-radius:var(--radius);background:#d3d6bc}.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.category-card:hover img{transform:scale(1.05)}.category-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#102a20aa 100%)}.category-card-content{position:relative;z-index:1;color:white;padding:26px;width:100%}.category-card h3{font-size:clamp(1.5rem,2.1vw,2rem);margin:0 0 7px}.category-card p{font-size:.82rem;margin:0;opacity:.9}.round-arrow{position:absolute;right:24px;bottom:30px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink)}
.product-section{background:var(--paper)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#f5f2e9;border:1px solid #e7e7df;border-radius:20px;overflow:hidden;transition:transform .25s,box-shadow .25s}.product-card:hover{transform:translateY(-5px);box-shadow:0 17px 35px #17352d19}.product-image{height:265px;background:#ebe5d8;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.product-card:hover img{transform:scale(1.055)}.product-info{padding:19px 19px 22px}.product-tag{color:#627661;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.product-info h3{font-family:var(--sans);font-weight:700;font-size:1.02rem;letter-spacing:-.025em;line-height:1.3;margin:7px 0 6px}.product-info p{color:#6b786c;font-size:.82rem;margin-bottom:16px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-weight:700}.product-action{display:grid;place-items:center;background:var(--ink);color:white;border-radius:50%;width:34px;height:34px;font-size:1.1rem}.product-action:hover{background:var(--orange)}.product-footnote{margin:18px 0 0;color:#718074;font-size:.74rem}
.feature{padding:80px 0;background:var(--lime)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.feature-image{min-height:410px;border-radius:var(--radius);overflow:hidden}.feature-image img{width:100%;height:410px;object-fit:cover}.feature h2{margin:15px 0 22px}.feature p{max-width:520px;color:#355349;font-size:1.08rem;line-height:1.65}.feature .btn{margin-top:12px}.feature-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:33px;color:#486455;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.feature-points span:before{content:'✓';color:var(--orange);margin-right:8px}
.story{padding:86px 0}.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}.story h2{margin:10px 0 0}.story-copy{font-size:1.1rem;color:var(--ink2);line-height:1.75}.story-copy p{margin-bottom:23px}.story-copy .text-link{margin-top:10px}.site-footer{background:#122e27;color:#f6f4e9;padding:58px 0 26px}.footer-top{display:flex;justify-content:space-between;gap:45px}.footer-brand{font-family:var(--serif);font-size:2.5rem;font-weight:700;letter-spacing:-.06em}.footer-brand span{color:var(--orange)}.footer-top p{color:#b9cebf;max-width:340px;margin:12px 0 0}.footer-links{display:flex;gap:60px}.footer-links h4{margin:0 0 17px;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#a3bfa7}.footer-links a{display:block;margin:0 0 11px;font-size:.86rem}.footer-bottom{border-top:1px solid #436257;margin-top:56px;padding-top:23px;display:flex;justify-content:space-between;color:#a9bdad;font-size:.72rem}.footer-social{display:flex;gap:18px}
.page-shell{min-height:55vh;padding:95px 0}.page-shell h1{font-size:clamp(3rem,7vw,6rem)}.entry-content{max-width:850px;font-size:1.08rem;line-height:1.7}.entry-content a{text-decoration:underline}.entry-content img{border-radius:18px}.entry-content .ec-store a{text-decoration:none}
.entry-content--store,.entry-content:has(.ec-store){max-width:none}
.page-shell--story h1,.page-shell--story .entry-content{width:100%;max-width:1160px;margin-inline:auto}
@media(max-width:980px){.main-nav{gap:15px}.header-shop{padding:11px 16px}.hero-grid{gap:10px}.hero-photo{min-height:530px}.hero-photo-main{inset:6% 8% 8% 8%;width:84%}.category-card{min-height:295px}.product-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{gap:30px}.story-grid{gap:45px}}
@media(max-width:760px){.container{width:min(100% - 32px,600px)}.header-inner{min-height:68px}.brand{font-size:1.7rem}.brand-terrier{width:30px;height:30px}.menu-toggle{display:block}.header-shop{display:none}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px 24px 26px;border-bottom:1px solid var(--line);box-shadow:0 18px 25px #18392b12}.main-nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.main-nav a{font-size:1rem}.announcement{font-size:.62rem}.hero{padding:38px 0 58px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:30px}.hero h1{font-size:clamp(3.6rem,13vw,5.6rem);margin:17px 0 18px}.hero-copy{font-size:1.03rem}.hero-photo{min-height:440px}.hero-photo-main{inset:2% 8% 6% 8%;height:90%;object-position:center 42%}.photo-sticker{right:0;bottom:18px;width:106px;height:106px;font-size:.86rem}.photo-sticker span{font-size:.51rem}.hero-note{margin-top:23px}.quick-strip-inner{grid-template-columns:1fr;gap:0;padding:6px 0}.quick-item{justify-content:flex-start;border-right:0;border-bottom:1px solid #496a5d;padding:12px 8px;font-size:.7rem}.quick-item:last-child{border-bottom:0}.section{padding:72px 0}.section-head{display:block}.section-head h2{margin-bottom:15px}.section-head .text-link{margin-top:18px}.category-grid{grid-template-columns:1fr 1fr;gap:11px}.category-card{min-height:235px}.category-card:first-child{grid-column:1/-1;min-height:280px}.category-card-content{padding:18px}.category-card h3{font-size:1.35rem}.category-card p{font-size:.7rem}.round-arrow{width:28px;height:28px;right:15px;bottom:20px}.product-grid{gap:10px}.product-image{height:180px}.product-info{padding:13px}.product-info h3{font-size:.89rem}.product-info p{font-size:.72rem}.product-tag{font-size:.55rem}.feature{padding:64px 0}.feature-grid,.story-grid{grid-template-columns:1fr;gap:26px}.feature-image,.feature-image img{height:310px;min-height:0}.feature h2,.story h2{font-size:clamp(2.7rem,10vw,4rem)}.story{padding:70px 0}.story-copy{font-size:1rem}.footer-top{display:block}.footer-links{margin-top:40px;gap:35px}.footer-bottom{display:block}.footer-social{margin-top:14px}.page-shell{padding:65px 0}}
@media(max-width:760px){.spotlight{padding:58px 0}.spotlight-grid{grid-template-columns:1fr;gap:28px}.spotlight h2{font-size:clamp(3rem,12vw,4.6rem);margin:14px 0}.spotlight-card-info{padding:17px 8px 7px}.spotlight-card-info h3{font-size:1.5rem}}

/* Ecwid product personalization: presentation only; option values and validation stay in Ecwid. */
.ec-store .product-details__product-options{display:grid;gap:14px}
.ec-store .product-details__product-options .details-product-option{margin:0!important;padding:17px 16px 18px;border:1px solid #dce4d7;border-radius:18px;background:#fffdfa;box-shadow:0 7px 22px #17352d0b}
.ec-store .product-details__product-options .details-product-option__title{margin:0 0 12px!important;color:var(--ink);font-family:var(--sans);font-size:1rem;font-weight:800;line-height:1.3}
.ec-store .product-details__product-options .form-control--radio{margin:6px 0!important;padding:8px 10px!important;border:1px solid #e3e9df;border-radius:11px;background:#f8faf5;transition:background .18s,border-color .18s,box-shadow .18s}
.ec-store .product-details__product-options .form-control--radio:hover{border-color:#aabda8;background:#f0f5eb}
.ec-store .product-details__product-options .form-control--radio:has(input.form-control__radio:checked){border-color:#6d9b78;background:#eaf3e6;box-shadow:inset 0 0 0 1px #6d9b78}
.ec-store .product-details__product-options .form-control--radio:has(input.form-control__radio:focus-visible){outline:3px solid #e77743;outline-offset:2px}
.ec-store .product-details__product-options .form-control__inline-label,.ec-store .product-details__product-options .form-control__inline-label label{color:var(--ink);font-family:var(--sans);font-size:.9rem;line-height:1.4;cursor:pointer}
.ec-store .product-details__product-options .form-control__text{width:100%;min-height:48px;padding:11px 13px!important;border:1px solid #a9b9ab!important;border-radius:10px!important;background:#f8faf5!important;color:var(--ink)!important;box-shadow:none!important;font-family:var(--sans);font-size:.95rem}
.ec-store .product-details__product-options .form-control__text:focus{border-color:#2a684b!important;box-shadow:0 0 0 3px #dce8b8!important;outline:0}
.ec-store .product-details__product-options .form-control__placeholder{color:#61766b}
.ec-store .product-details .details-product-purchase__add-to-bag .form-control__button{min-height:52px;border-radius:999px!important;background:var(--ink)!important;color:white!important;font-family:var(--sans);font-weight:800;transition:background .2s,transform .2s}
.ec-store .product-details .details-product-purchase__add-to-bag .form-control__button:hover{background:#285647!important;transform:translateY(-2px)}
@media(max-width:760px){.ec-store .product-details__product-options .details-product-option{padding:15px 14px 16px}.ec-store .product-details__product-options .form-control--radio{padding:8px!important}}

/* Bring Ecwid collection tiles into the CheddarDogs card system. */
.ec-size .ec-store .grid-category__wrap-inner,.ec-size .ec-store .grid-category__card,.ec-size .ec-store .grid-category__image,.ec-size .ec-store .grid-category__bg{border-radius:22px!important;overflow:hidden}
.ec-size .ec-store .grid-category__wrap-inner{background:#e6e8dc;box-shadow:0 10px 28px #17352d13;transition:transform .25s,box-shadow .25s}
.ec-size .ec-store .grid-category__wrap-inner:hover{transform:translateY(-4px);box-shadow:0 18px 34px #17352d22}
.ec-size .ec-store .grid-category__wrap-inner:focus-within{outline:3px solid var(--orange);outline-offset:3px}
.ec-size .ec-store .grid-category__title-inner{font-family:var(--serif);font-weight:700;letter-spacing:-.025em;text-shadow:0 2px 10px #102a2055}
.ec-size .ec-store .grid-product__wrap-inner{overflow:hidden;border:1px solid #e3e6dc;border-radius:20px!important;background:#f5f2e9!important;box-shadow:0 8px 24px #17352d0d;transition:transform .25s,box-shadow .25s}
.ec-size .ec-store .grid-product__wrap-inner:hover{transform:translateY(-4px);box-shadow:0 17px 35px #17352d1c}
.ec-size .ec-store .grid-product__wrap-inner:focus-within{outline:3px solid var(--orange);outline-offset:3px}
.ec-size .ec-store .grid-product__image,.ec-size .ec-store .grid-product__picture{overflow:hidden;border-radius:19px 19px 0 0!important;background:#ebe5d8}
.ec-size .ec-store .grid-product__title-inner{color:var(--ink);font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.ec-size .ec-store .grid-product__price-amount{color:var(--ink);font-weight:700}
.ec-size .ec-store .grid-product__button-hover .form-control__button{border-radius:999px!important;background:var(--ink)!important;color:white!important;font-weight:700}
.ec-size .ec-store .grid-product__button-hover .form-control__button:hover{background:#285647!important}
