/*
Theme Name: Casalingas Marketplace
Theme URI: https://casalingas.com/
Author: Casalingas
Description: Nationwide marketplace for independent food trucks, local restaurants, and eligible home kitchens.
Version: 1.10.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: casalingas
*/
:root{--ink:#171717;--muted:#676767;--paper:#fff;--soft:#fff8f3;--line:#ece7e2;--brand:#ef5b2a;--brand-dark:#c94318;--leaf:#5e8b5b;--gold:#f5b942;--ok:#24764a;--shadow:0 12px 34px rgba(0,0,0,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-logo img{height:54px;width:auto;display:block}.brand-text{font-size:1.45rem;font-weight:850;letter-spacing:-.04em}.nav{display:flex;align-items:center;gap:22px;font-weight:650}.nav .pill{background:var(--ink);color:#fff;padding:11px 16px;border-radius:999px}.mobile-toggle{display:none;border:0;background:#fff;font-size:1.4rem}.hero{background:linear-gradient(135deg,#fff 0%,#fff7f1 50%,#fff 100%);padding:74px 0 58px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:7px 12px;border-radius:999px;font-size:.9rem;font-weight:750;box-shadow:0 4px 20px rgba(0,0,0,.04)}h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.96;letter-spacing:-.065em;margin:18px 0 22px}.hero p{font-size:1.18rem;color:var(--muted);max-width:680px}.hero strong{color:var(--ink)}.search-shell{display:flex;gap:10px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);max-width:690px;margin-top:28px}.search-shell input,.search-shell select{border:0;outline:0;padding:12px 14px;background:transparent;font:inherit;min-width:0}.search-shell input{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:13px 18px;font:inherit;font-weight:800;cursor:pointer}.btn-brand{background:var(--brand);color:white}.btn-brand:hover{background:var(--brand-dark)}.btn-dark{background:var(--ink);color:white}.btn-light{background:white;border:1px solid var(--line)}.hero-card{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:20px;transform:rotate(1.2deg)}.meal-photo{height:260px;border-radius:20px;background:linear-gradient(135deg,#f0b678,#8e3e20);display:grid;place-items:center;color:#fff;font-size:5rem}.hero-card h3{margin:16px 0 4px}.meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.92rem}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#fff2e9;color:var(--brand-dark);font-size:.76rem;font-weight:850;letter-spacing:.04em}.badge.home{background:#edf7ef;color:var(--ok)}.section{padding:72px 0}.section.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.section-head h2{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.05em;margin:0}.section-head p{max-width:620px;margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.listing{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.2s;box-shadow:0 6px 24px rgba(0,0,0,.035)}.listing:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.listing-cover{height:170px;background:linear-gradient(135deg,#f8c78d,#d85b32);display:grid;place-items:center;font-size:3rem}.listing-body{padding:17px}.listing-title{display:flex;justify-content:space-between;gap:12px;align-items:start}.listing-title h3{margin:0;font-size:1.12rem}.rating{white-space:nowrap;font-weight:850}.rating .star{color:#ef9a11}.new-label{font-size:.74rem;color:var(--muted);font-weight:700}.price-note{margin-top:10px;color:var(--muted);font-size:.9rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}.step-num{width:38px;height:38px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900}.step h3{margin:14px 0 8px}.neighbor-banner{padding:34px;border-radius:28px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}.neighbor-banner h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1;letter-spacing:-.05em;margin:0 0 12px}.neighbor-banner p{color:#d6d6d6}.seller-box{background:#fff;color:var(--ink);padding:22px;border-radius:20px}.fee{font-size:2.7rem;font-weight:900;letter-spacing:-.05em;color:var(--brand)}.profile-grid{display:grid;grid-template-columns:1fr 360px;gap:28px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.share-card{background:#fff7f1;border:1px solid #f6d9c8;border-radius:18px;padding:20px}.copy-row{display:flex;gap:8px}.copy-row input{flex:1;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.share-copy{white-space:pre-wrap;padding:13px;border-radius:12px;background:#fff;border:1px solid var(--line);color:#444}.qr{width:180px;height:180px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;font-size:.83rem;font-weight:800;margin-bottom:5px}.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;font:inherit}.field.full{grid-column:1/-1}.notice{padding:14px 16px;border-radius:12px;background:#edf7ef;color:#155c36;font-weight:700}.footer{border-top:1px solid var(--line);padding:38px 0;color:var(--muted);font-size:.92rem}.footer-grid{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap}.content{padding:54px 0}.content h1{font-size:clamp(2.4rem,5vw,4.2rem)}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.small{font-size:.85rem;color:var(--muted)}
@media(max-width:900px){.hero-grid,.neighbor-banner,.profile-grid{grid-template-columns:1fr}.grid,.steps{grid-template-columns:1fr 1fr}.nav{display:none}.mobile-toggle{display:block}.nav.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;padding:18px 24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.hero{padding-top:44px}.hero-card{max-width:580px}.search-shell{flex-wrap:wrap}.search-shell input{flex-basis:100%}}
@media(max-width:620px){.grid,.steps,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.wrap{width:min(100% - 22px,1180px)}.section{padding:50px 0}.header-inner{height:68px}.brand-logo img{height:44px}.nav.open{top:68px}.hero h1{font-size:3.15rem}.neighbor-banner{padding:24px}.copy-row{flex-direction:column}}

.search-shell{flex-wrap:wrap}.search-shell input{flex-basis:100%}.law-panel{margin:20px 0;background:var(--soft)}.law-panel a{text-decoration:underline}

.meal-photo img,.listing-cover img{width:100%;height:100%;object-fit:cover}.meal-photo{overflow:hidden}

.location-search{flex-wrap:nowrap}.location-search input{flex:1;flex-basis:auto}@media(max-width:620px){.location-search{flex-wrap:wrap}.location-search input{flex-basis:100%}}

.directory-results{margin-top:44px}.directory-pagination{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.directory-pagination .page-numbers{padding:8px 12px;border:1px solid var(--line);border-radius:8px}.directory-pagination .current{background:var(--brand);color:white}

.city-map-section{margin:30px 0 40px}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.map-heading h2{font-size:1.8rem;margin:0}.map-heading p{color:var(--muted);max-width:780px}.city-map-frame{position:relative;border:1px solid var(--line);border-radius:22px;overflow:hidden}.city-map{height:620px;width:100%;background:#ecefe7;z-index:1}.map-close{display:none}.city-map-frame.is-enlarged{position:fixed;inset:12px;z-index:100000;border-radius:16px;box-shadow:0 0 0 20px rgba(0,0,0,.7)}.is-enlarged .city-map{height:100%}.is-enlarged .map-close{display:block;position:absolute;right:18px;top:16px;z-index:1001}.truck-map-icon{background:transparent;border:0}.truck-map-badge{display:flex;gap:5px;align-items:center;justify-content:center;background:white;border:2px solid var(--brand);border-radius:14px;padding:3px 7px;box-shadow:0 3px 12px rgba(0,0,0,.22);height:38px;width:max-content;max-width:160px;color:var(--ink);font-family:inherit}.truck-map-symbol{display:flex;color:var(--brand);flex:none}.truck-map-name{font-weight:800;font-size:12px;white-space:nowrap;max-width:94px;overflow:hidden;text-overflow:ellipsis}.truck-map-count{font-size:11px;font-weight:800;background:var(--brand);color:white;border-radius:20px;padding:2px 5px}.truck-map-cluster .truck-map-badge{border-color:var(--brand-dark)}.truck-cluster-links{display:flex;gap:8px;flex-wrap:wrap;max-height:260px;overflow:auto;margin-top:12px;padding:3px}.truck-cluster-links a{display:block}.truck-cluster-links .truck-map-badge{box-shadow:none}.city-map .leaflet-control-attribution{font-size:11px}.city-map .leaflet-popup-content{font-family:inherit}
@media(max-width:620px){.city-map{height:460px}.map-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:14px}.map-heading h2{font-size:1.4rem}.city-map-frame.is-enlarged{inset:4px}}

.seller-menu-builder{margin:28px 0;padding-top:20px;border-top:1px solid var(--line)}.seller-menu-item{border:1px solid var(--line);padding:18px;border-radius:16px;margin:16px 0}.seller-menu-item legend{font-weight:800;padding:0 8px}.seller-menu-item [data-remove-menu]{margin-top:14px}.seller-upload-preview{width:180px;max-height:150px;object-fit:contain;margin-top:12px;border-radius:12px}.seller-upload-preview[hidden]{display:none}.seller-brand-logo{width:100px;height:100px;object-fit:contain;border:1px solid var(--line);background:white;border-radius:18px;padding:8px;margin-top:14px}.seller-public-menu{margin:30px 0}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.menu-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white}.menu-item-photo{width:100%;height:220px;object-fit:cover;display:block}.menu-card-body{padding:18px}.menu-name-price{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.menu-name-price h3{margin:0}.menu-name-price strong{white-space:nowrap;color:var(--brand-dark)}.menu-card-body p{color:var(--muted);margin-bottom:0}@media(max-width:620px){.menu-grid{grid-template-columns:1fr}}

.listing-card-logo{width:48px;height:48px;object-fit:contain;border-radius:8px;flex-shrink:0;background:#fff}.listing-menu-preview{display:grid;gap:10px;margin-top:16px}.listing-menu-dish{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}.listing-menu-dish img{width:60px;height:60px;object-fit:cover;border-radius:8px}.listing-menu-dish span{font-weight:600}.listing-menu-dish small{display:block;font-weight:400;color:var(--muted)}.listing-menu-link{display:inline-block;margin-top:12px;font-weight:700}.seller-public-menu{scroll-margin-top:100px}

.featured-results{padding:24px;border:1px solid #e8c566;border-radius:16px;background:#fffaf0;margin:24px 0}.sponsored-label{font-size:12px;font-weight:500;vertical-align:middle;padding:4px 8px;border:1px solid #d3b967;border-radius:6px}.featured-plan form{margin-top:20px;padding-top:16px;border-top:1px solid #ddd}.featured-plan input[type=checkbox]{width:auto}.featured-plan{margin-bottom:24px}

.hero-card .meal-photo{height:auto;aspect-ratio:3/2}.hero-card .meal-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}

.nearest-distance{font-weight:700;margin:0 0 8px}.nearest-result .listing{height:calc(100% - 34px)}.nearest-results{margin-top:28px}

.home-kitchen-invite{grid-column:span 2;align-self:center;padding:28px 36px}.home-kitchen-invite h2{font-size:clamp(1.8rem,3.4vw,3.1rem);line-height:1.12;letter-spacing:-.04em;margin:20px 0}.home-kitchen-invite p{font-size:1.1rem;line-height:1.65;max-width:650px}.home-kitchen-invite .btn{margin-top:10px}@media(max-width:900px){.home-kitchen-invite{grid-column:1/-1;padding:24px 8px}}

@media(min-width:901px){.nav{gap:15px;font-size:.94rem}}

.truck-record-scroll{overflow-x:auto}.truck-record-table{width:100%;border-collapse:collapse;text-align:left}.truck-record-table caption{text-align:left;font-weight:700;margin:12px 0}.truck-record-table th,.truck-record-table td{padding:12px;border-bottom:1px solid #ddd;vertical-align:top}.truck-record-details .small{margin-top:18px}

.cas-truck-brand{margin:1rem 0}.cas-truck-brand img{display:block;width:180px;height:140px;object-fit:contain;background:#fff;border:1px solid #ece7e2;border-radius:12px;padding:10px}.cas-truck-category-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.cas-truck-category-form select{padding:10px;border:1px solid #ccc;border-radius:8px}

/* Farm cards: contain photos, fade to white, and keep copy on a solid surface. */
.listing--farm > a{display:block}
.listing--farm .listing-cover{position:relative;display:block;height:220px;overflow:hidden;isolation:isolate;background:#fff}
.listing--farm .listing-cover img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.listing--farm .listing-cover::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.75) 65%,#fff 100%);pointer-events:none}
.listing--farm .listing-body{position:relative;background:#fff;color:#171717;padding:17px;z-index:1}
.listing--farm .listing-title h3,.listing--farm .listing-title h3 a{color:#171717}
.listing--farm .meta-row{color:#555}

.directory-truck-brand{display:flex;align-items:center;gap:14px;margin:16px 0}.directory-truck-brand h3{margin:0;min-width:0;overflow-wrap:anywhere}.directory-truck-logo{display:block;width:80px;height:80px;flex:0 0 80px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px}

.miami-hub{margin:24px 0}.miami-category-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:24px 0}.miami-category-links a{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--soft);font-weight:700}.miami-category-links small{font-weight:400;color:#555}.miami-cuisine-section{margin:36px 0;scroll-margin-top:100px}.miami-truck-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;padding:0}.miami-truck-links li{padding:16px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.miami-truck-name{font-weight:750;text-decoration:underline;text-underline-offset:3px}.miami-truck-links .small{display:block;margin-top:5px}.miami-city-link{text-decoration:underline;font-weight:700}@media(max-width:620px){.miami-truck-links{grid-template-columns:1fr}}

/* Seller portal: customer-paid service fee and seller proceeds. */
.seller-payment-breakdown{margin:1.25rem 0;border:1px solid #e1e5df;border-radius:12px;overflow:hidden}.seller-payment-breakdown>div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:#fafbf8}.seller-payment-breakdown>div+div{border-top:1px solid #e1e5df}.seller-payment-breakdown dt{flex:1}.seller-payment-breakdown dd{margin:0;text-align:right;font-weight:700}.seller-payment-breakdown>div:last-child{background:#edf4e9}.seller-payment-agreement{border-top:1px solid #e1e5df;margin-top:1.5rem;padding-top:1rem}.seller-payments input[type=checkbox]{width:auto}.seller-payments [data-payment-error]{color:#8b2020}@media(max-width:480px){.seller-payment-breakdown>div{flex-direction:column;gap:.3rem}.seller-payment-breakdown dd{text-align:left}}

.cas-order-action{display:inline-block;margin:.4rem .4rem .4rem 0}.cas-order{border:1px solid #e1e5df}.cas-order details{padding:1rem;background:#fff5ee;border-radius:10px}.cas-order input[type=checkbox],#seller-orders input[type=checkbox]{width:auto}#seller-orders textarea{display:block;width:100%}#cas-order-menu input[type=number]{display:block;max-width:110px}.cas-sold-out{display:inline-block;background:#f9e3df;color:#792d22;border-radius:6px;padding:.2rem .5rem;font-weight:700}
