/* v0.11: fuller reference-aligned business pages. */
.directory-container{max-width:1280px}.directory-page .demo-note{font-size:11px;padding:5px 0}.directory-page .directory-hero{padding:23px 0 17px;background-image:linear-gradient(90deg,#092b4ed9,#092b4e10),url('mobile-generated-v031.webp');background-position:center 42%}.directory-hero h1{font-size:42px;line-height:1.15;margin:8px 0}.directory-hero p{margin-bottom:15px}.directory-search{max-width:1060px;border-radius:8px 8px 0 0;padding:9px 11px;gap:8px}.directory-search label:nth-child(2),.directory-search label:nth-child(3){width:170px;min-width:0}.directory-search select{min-width:0}.popular-directory{display:flex;align-items:center;gap:7px;max-width:1060px;padding:0 12px 10px;background:#fff;color:#172b4d;border-radius:0 0 8px 8px;font-size:10px}.popular-directory button{min-height:23px;border:0;padding:3px 9px;border-radius:13px;background:#edf2f8;font-size:10px}.directory-categories{gap:9px;margin:9px 0 22px}.directory-categories button{min-height:90px;gap:5px;padding:10px 4px}.directory-categories button strong{font-size:12px;line-height:1.3}.directory-categories button small{font-size:10px;line-height:1.3;color:#526a87}.directory-categories button:nth-child(2){background:#edf5ff}.directory-categories button:nth-child(6){background:#e9faf8}.directory-layout{grid-template-columns:185px minmax(0,1fr) 245px;gap:19px}.filters{padding:13px}.filters fieldset{border:0;border-top:1px solid #e7edf6;margin:16px 0 14px;padding:13px 0 0;min-width:0}.filters legend{font-size:13px;font-weight:700;padding:0 3px 0 0;color:#142e56}.filters label{font-weight:400;font-size:12px;margin-bottom:10px}.filters .check{align-items:flex-start;line-height:1.45;gap:6px;margin:8px 0;font-size:11px}.filters .check input{margin:1px 0 0;width:14px;height:14px;min-height:14px}.filters .check small{color:#617690;font-size:10px;margin-left:auto}.filters input:not([type=checkbox]):not([type=radio]),.filters select{font-size:12px}.directory-page .check input[type=radio]{width:14px;height:14px}.directory-card{grid-template-columns:130px minmax(0,1fr) 128px;gap:13px;padding:10px;margin-bottom:12px;min-height:148px}.directory-image img{height:100%;min-height:128px;max-height:162px;object-position:center}.directory-copy h2{font-size:17px;line-height:1.3;letter-spacing:-.35px;padding-right:4px}.directory-copy p{font-size:11px;line-height:1.45;margin:5px 0}.directory-copy .review-line{font-size:13px}.directory-copy .address-line{font-size:10px;line-height:1.5}.feature-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.feature-tags span{font-size:10px;line-height:1.3;background:#edf3fb;padding:4px 6px;border-radius:4px}.directory-actions{gap:6px;padding-top:27px}.directory-actions .save{font-size:24px;line-height:1;min-height:24px;color:#e33259}.directory-actions .call-pair{display:grid;grid-template-columns:1fr 1.4fr;gap:5px}.directory-actions button:not(.save),.directory-actions .outline{min-height:32px;font-size:11px}.whatsapp-outline{background:#effbf4!important;border-color:#beeacd!important;color:#07833a!important}.results-toolbar>div{display:flex;gap:4px}.results-toolbar button[disabled]{font-size:11px;color:#697a91;background:#f4f6fa;cursor:not-allowed}.featured-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mini-business{display:flex;gap:8px;margin:10px 0;align-items:center}.mini-business img{width:64px;height:57px;object-fit:cover;border-radius:5px;display:block;flex-shrink:0}.mini-business strong{font-size:12px;line-height:1.35;display:block}.mini-business small{display:block;font-size:10px;color:#61748e;line-height:1.5}.featured-mini .mini-business{display:block;margin:0}.featured-mini img{width:100%;height:78px;margin-bottom:5px}.featured-mini .mini-business strong{font-size:11px}.featured-mini .mini-business small{font-size:9px}.content-panel .section-heading{margin-bottom:9px}.content-panel .section-heading h2{font-size:17px;margin:0;white-space:normal}.map-unavailable{border:1px solid #dae4f1;border-radius:7px;min-height:175px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:#eef4fa;color:#526b88;padding:12px;text-align:center}.map-unavailable svg{width:38px;height:38px;color:#7d9abb}.map-unavailable span{font-size:11px;max-width:180px}.map-unavailable strong{font-size:13px}.map-panel .muted{line-height:1.5;font-size:11px}.promotion{position:relative;min-height:245px;padding:16px 12px;background:linear-gradient(130deg,#dff2ff,#a8d7fb);overflow:hidden}.promotion>div{width:68%;position:relative;z-index:1}.promotion h2{font-size:20px;line-height:1.3}.promotion p{font-size:12px}.promotion button{font-size:10px;padding:7px 5px}.promotion>img{position:absolute;right:-35px;bottom:0;width:62%;height:85%;object-fit:contain;object-position:right bottom}.rich-footer{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.7fr;gap:25px;padding:30px 20px;margin-top:24px;max-width:1280px}.rich-footer h2{font-size:13px!important;margin-bottom:9px}.rich-footer a,.rich-footer button{display:block;font-size:11px;line-height:1.6;padding:2px 0;min-height:0;border:0;background:transparent;text-align:left;color:#4b6384}.rich-footer p,.rich-footer small{font-size:11px;line-height:1.6}.rich-footer label{font-size:11px}.rich-footer input{width:100%;padding:6px 8px;border:1px solid #dce5f2;border-radius:5px;min-height:35px;margin:5px 0;font-size:12px}.rich-footer button:disabled{background:#e8eef6;padding:7px 12px;border-radius:5px;color:#6a7b93;min-height:35px;cursor:not-allowed}.detail-cover{height:285px;max-width:1440px;margin:auto}.detail-cover>img{object-position:center 50%}.cover-thumbnails{position:absolute;right:max(30px,calc((100% - 1250px)/2));top:15px;bottom:30px;width:240px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;z-index:1}.cover-thumbnails button{padding:0;border:2px solid white;border-radius:8px;overflow:hidden;min-height:0}.cover-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}.cover-thumbnails .photo-count{background:#071b35bb;color:#fff;font-size:26px;font-weight:700;line-height:1.3}.photo-count small{display:block;font-size:12px}.cover-badges{position:absolute;left:max(30px,calc((100% - 1240px)/2));bottom:32px;z-index:1;display:flex;gap:8px}.cover-badges span{font-size:11px;padding:5px 9px;border-radius:5px;background:#e9fff3;color:#0c7141;box-shadow:0 2px 8px #102a4925}.cover-badges span+span{background:white;color:#7d5409}.business-summary{grid-template-columns:112px minmax(0,1fr) 380px;gap:20px;margin-top:-18px;padding:15px;border:1px solid #e0e8f3}.business-wordmark{width:112px;height:108px;background:#080c14;color:#e1ba63;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #b7a57444;overflow:hidden;padding:5px}.business-wordmark>span{font-size:28px;line-height:1}.business-wordmark strong{font-family:Georgia,serif;font-size:27px;line-height:1.2;color:#fff;letter-spacing:-1px;max-width:100%;overflow-wrap:anywhere;text-align:center}.business-wordmark small{font-size:7px;letter-spacing:1.4px;margin-top:6px;white-space:nowrap}.business-summary h1{font-size:29px;line-height:1.2;margin:0 0 5px}.business-summary p{font-size:12px}.business-summary .review-line{font-size:18px}.business-summary .summary-address{font-size:11px}.contact-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.contact-buttons>button:last-child{grid-column:auto}.contact-buttons>div{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:7px}.contact-buttons button{min-height:37px;font-size:12px;padding:5px}.detail-tabs{justify-content:space-between;margin:13px 0 15px;padding:5px}.detail-tabs a{padding:10px 12px;font-size:12px}.detail-tabs a:first-child{background:transparent}.detail-tabs a[aria-current]{background:#edf5ff;color:#075bee;border-radius:5px;box-shadow:inset 0 -2px #075bee}.detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:17px}.overview-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:13px}.content-panel{padding:14px}.content-panel>h2{font-size:18px}.content-panel p{font-size:12px;line-height:1.75}.features{grid-template-columns:repeat(3,minmax(0,1fr));font-size:11px;gap:15px 8px;margin-top:18px}.hours{font-size:12px}.hours div{padding:5px 0}.detail-section{margin:21px 0}.detail-section>.section-heading h2{font-size:19px;line-height:1.3}.detail-section>.section-heading button{font-size:11px;min-height:32px;padding:5px 9px}.service-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.service-cards article{min-width:0}.product-open{display:block;width:100%;min-height:0!important;padding:0;border:0;border-radius:0;text-align:left;color:#172b4d;background:white}.product-open img{width:100%;height:112px;object-fit:cover;display:block}.product-open>span{padding:9px 8px;display:block}.product-open strong{display:block;font-size:13px;line-height:1.35}.product-open small{display:block;font-size:11px;line-height:1.4;color:#5b708c;margin-top:4px}.photo-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.photo-cards img{height:130px}.review-overview{display:grid;grid-template-columns:190px minmax(0,1fr);gap:23px;background:white;border:1px solid #e0e9f5;border-radius:8px;padding:18px}.review-overview>div:first-child{display:flex;align-items:center;justify-content:center;flex-direction:column;border-right:1px solid #e7edf5;padding-right:15px}.review-overview strong{font-size:39px;line-height:1.2;color:#10245b}.review-overview>div>span{color:#f5a800;font-size:20px}.review-overview small{font-size:10px;color:#5e728c}.rating-bars>div{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:10px}.rating-bars>div>span{width:36px;flex-shrink:0}.rating-bars meter{height:10px;flex:1;min-width:0}.rating-bars meter::-webkit-meter-bar{background:#edf3fb;border:1px solid #d8e5f7;border-radius:4px}.rating-bars meter::-webkit-meter-optimum-value{background:#0766ee;border-radius:4px}.rating-bars small{width:30px;text-align:right}.review-sort{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}.review-sort button{font-size:11px;min-height:29px;padding:4px 9px;background:#eef5ff;border-color:#dce8f7}.review-sort button[aria-pressed=true]{background:#075bee;color:white}.review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.review-card{padding:12px;background:white;border:1px solid #dfe8f4;border-radius:7px;min-width:0}.review-card>header{display:flex;align-items:center;gap:8px}.review-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#dfeaf6;color:#2b4c73;flex-shrink:0;font-size:15px}.review-card strong{font-size:11px;line-height:1.3;display:block}.review-card small{display:block;font-size:9px;color:#7f630b;margin-top:3px;line-height:1.4}.review-card p{font-size:11px;line-height:1.65;margin:9px 0 0}.contact-panel dl{font-size:12px;line-height:1.5;margin:0 0 10px}.contact-panel dl>div{padding:9px 0;border-bottom:1px solid #edf2f8}.contact-panel dt{color:#075bee;font-weight:700}.contact-panel dd{margin:3px 0 0;color:#60748e;font-size:11px}.campaign>div{background-position:center;background-size:cover;color:white;border-radius:7px;min-height:165px;padding:14px;position:relative}.campaign>div>span{display:inline-block;font-size:10px;background:#ffffffdf;color:#304b6c;padding:3px 7px;border-radius:4px}.campaign h3{font-size:20px;color:white;max-width:150px;margin:9px 0 3px}.campaign p{font-size:12px;margin:0;color:white}.campaign>div>strong{position:absolute;right:10px;top:60px;background:#f02c61;padding:8px;border-radius:6px;font-size:21px}.campaign>div>small{display:block;font-size:9px;margin-top:13px;color:#eff5ff}.mobile-contact-bar{display:none}.product-dialog-image{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:7px;margin:10px 0}.gallery-thumbs{display:flex;gap:8px;overflow:auto;margin-top:10px;padding:3px}.gallery-thumbs button{padding:0;min-width:76px;width:76px;height:55px;min-height:0;overflow:hidden;border:2px solid transparent}.gallery-thumbs img{width:100%;height:100%;display:block;object-fit:cover}.gallery-thumbs button[aria-current]{border-color:#075bee}.directory-page dialog p{white-space:pre-line}.section-heading>small{font-size:11px;color:#61728b}
@media(max-width:1200px){.directory-layout{grid-template-columns:185px minmax(0,1fr)}.business-summary{grid-template-columns:100px minmax(0,1fr) 310px}.business-wordmark{width:100px;height:104px}.business-summary h1{font-size:26px}.detail-layout{grid-template-columns:minmax(0,1fr) 260px}.overview-grid{grid-template-columns:1fr}.features{grid-template-columns:repeat(3,minmax(0,1fr))}.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.rich-footer{grid-template-columns:1.5fr 1fr 1fr 1fr}.rich-footer section:last-child{grid-column:1/-1;max-width:400px}}
@media(max-width:768px){.directory-hero{padding:18px 0}.directory-hero h1{font-size:30px}.directory-hero p{font-size:13px}.directory-search{max-width:none;border-radius:8px;gap:7px}.directory-search label:first-child{flex:1 1 100%;order:0}.directory-search label:nth-child(2),.directory-search label:nth-child(3){width:auto;flex:1 1 calc(50% - 5px);order:1}.directory-search button{order:2;width:100%;height:41px}.popular-directory{display:none}.directory-categories{margin-top:7px;grid-template-columns:repeat(7,100px);gap:8px}.directory-categories button{min-height:84px}.directory-categories strong{font-size:11px!important;white-space:normal}.directory-categories small{font-size:9px!important}.directory-card{position:relative;display:grid;grid-template-columns:102px minmax(0,1fr);padding:9px;gap:6px 10px;min-height:157px}.directory-image{grid-column:1;grid-row:1/3;align-self:stretch}.directory-image img{height:100%;min-height:118px;max-height:none;border-radius:6px;object-fit:cover}.directory-copy{grid-column:2;padding:0;min-width:0}.directory-copy h2{font-size:14px;padding-right:24px;margin:0 0 3px;line-height:1.3}.directory-copy p{font-size:10px;margin:3px 0;line-height:1.4}.directory-copy .review-line{font-size:12px}.directory-copy .review-line small{font-size:9px}.directory-copy .address-line{font-size:9px}.feature-tags{display:none}.directory-actions{position:static;grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:5px;align-self:end}.directory-actions>.outline{display:none}.directory-actions .call-pair{display:block}.directory-actions .call-pair button:first-child{width:100%;min-height:30px}.directory-actions .call-pair .whatsapp-outline{display:none}.directory-actions>button:not(.save){min-height:30px;font-size:10px;padding:2px}.directory-actions .save{position:absolute;top:6px;right:7px;bottom:auto;width:25px;height:25px;min-height:25px;background:white;border:0;font-size:24px}.directory-actions button:not(.save){font-size:10px}.directory-aside{display:none}.filters .check{font-size:13px;align-items:center;min-height:26px}.filters .check input{height:17px;width:17px;min-height:17px}.filters legend{font-size:15px}.filters label{font-size:14px}.filters .check small{font-size:11px}.filters input:not([type=checkbox]):not([type=radio]),.filters select{font-size:16px}.results-toolbar>div button:disabled{display:none}#directory-cards.grid-view .directory-card{display:flex;padding:0;gap:0}#directory-cards.grid-view .directory-image img{height:112px;min-height:0;border-radius:0}#directory-cards.grid-view .directory-copy{padding:8px}#directory-cards.grid-view h2{font-size:13px}#directory-cards.grid-view .directory-actions{padding:0 8px 9px;display:grid;grid-template-columns:1fr 1fr}#directory-cards.grid-view .directory-actions>.outline{display:flex;grid-column:1/-1;order:0}#directory-cards.grid-view .directory-actions .save{top:5px;right:5px;bottom:auto}#directory-cards.grid-view .directory-copy h2{padding-right:0}.rich-footer{grid-template-columns:1fr 1fr;gap:20px;padding:24px 16px}.rich-footer section:first-child{grid-column:1/-1}.rich-footer section:last-child{grid-column:1/-1}.rich-footer section:nth-child(4){display:none}.detail-cover{height:210px}.cover-thumbnails{width:84px;top:auto;height:68px;bottom:14px;right:15px;display:block}.cover-thumbnails>button:not(.photo-count){display:none}.cover-thumbnails .photo-count{width:100%;height:100%;font-size:24px}.cover-thumbnails .photo-count small{font-size:10px}.cover-badges{left:16px;bottom:15px;gap:5px;max-width:245px;flex-wrap:wrap}.cover-badges span{font-size:10px;padding:4px 7px}.business-summary{grid-template-columns:68px minmax(0,1fr);gap:11px;margin-top:0;padding:12px}.business-wordmark{width:68px;height:77px;padding:4px}.business-wordmark>span{font-size:21px}.business-wordmark strong{font-size:19px}.business-wordmark small{font-size:4px;letter-spacing:1px}.business-summary h1{font-size:22px}.business-summary p{font-size:11px}.business-summary .review-line{font-size:17px}.business-summary .summary-address{font-size:10px;line-height:1.5}.contact-buttons{grid-column:1/-1;gap:7px}.contact-buttons button{min-height:39px;font-size:11px}.contact-buttons>div{grid-template-columns:1fr 1fr 1fr;gap:6px}.contact-buttons>div button{font-size:10px;min-height:35px}.detail-tabs{justify-content:flex-start;margin:12px -16px;padding:4px 8px}.detail-tabs a{font-size:11px;padding:10px 9px}.detail-layout{display:flex}.overview-grid{display:flex}.content-panel>h2{font-size:18px}.content-panel p{font-size:13px;line-height:1.75}.features{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:11px}.features>span{padding:10px 6px;border:1px solid #e1ebf7;border-radius:6px;text-align:center;background:#fbfdff}.hours{font-size:13px}.service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.product-open img{height:108px}.product-open>span{padding:9px}.product-open strong{font-size:13px}.product-open small{font-size:11px}.photo-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-cards img{height:112px}.review-overview{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:13px 10px}.review-overview strong{font-size:27px}.review-overview>div>span{font-size:15px}.review-overview small{font-size:9px}.review-overview>div:first-child{padding-right:8px}.rating-bars>div{gap:5px;font-size:9px}.rating-bars>div>span{width:30px}.rating-bars small{width:26px}.review-cards{display:flex;flex-direction:column;gap:9px}.review-card strong{font-size:12px}.review-card small{font-size:10px}.review-card p{font-size:12px}.review-sort{gap:5px}.review-sort button{font-size:10px;padding:4px 7px;min-height:30px}.detail-section{margin:18px 0}.detail-section>.section-heading h2{font-size:18px}.detail-section>.section-heading button{font-size:10px}.directory-page[data-page=detail] .bottom-nav{display:none}.mobile-contact-bar{position:fixed;bottom:0;left:0;right:0;z-index:15;display:grid;grid-template-columns:1fr 1.3fr 1.2fr;gap:7px;background:#fff;padding:9px 12px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #dce5f3;box-shadow:0 -3px 12px #152b4610}.mobile-contact-bar button{min-height:40px;font-size:12px;padding:5px}.directory-page[data-page=detail]{padding-bottom:70px}.contact-panel dl{font-size:13px}.contact-panel dd{font-size:12px}.mini-business strong{font-size:13px}.mini-business small{font-size:11px}.campaign h3{font-size:22px}.campaign>div{min-height:175px}.campaign>div>strong{font-size:27px;padding:10px}.map-unavailable{min-height:180px}.map-panel .muted{font-size:12px}.gallery-thumbs button{width:63px;min-width:63px;height:47px}}
@media(max-width:360px){.directory-card{grid-template-columns:86px minmax(0,1fr);gap:5px 8px;padding:8px}.directory-copy h2{font-size:13px}.directory-copy p{font-size:10px}.directory-copy .address-line{font-size:9px}.directory-copy .review-line small{font-size:8px}.business-summary{grid-template-columns:57px minmax(0,1fr)}.business-wordmark{width:57px;height:70px}.business-wordmark strong{font-size:16px}.business-summary h1{font-size:20px}.contact-buttons>div button{font-size:9px}.features{font-size:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-tabs{margin-left:-12px;margin-right:-12px}.review-overview{grid-template-columns:87px minmax(0,1fr);gap:8px}.review-overview strong{font-size:23px}.popular-directory{display:none}.rich-footer{padding-left:12px;padding-right:12px}.directory-categories{margin-left:-12px;margin-right:-12px}}
.directory-actions .save svg{width:19px;height:19px}.directory-actions button svg,.contact-buttons button svg,.mobile-contact-bar button svg{width:14px;height:14px;vertical-align:middle;margin-right:4px}.address-line svg,.summary-address svg,.contact-panel dt svg{width:13px;height:13px;vertical-align:middle;margin-right:3px}.directory-actions .save{display:grid;place-items:center}.directory-actions .save svg{margin:0}.filter-chip{min-height:29px!important;font-size:11px;padding:4px 8px;line-height:1.4}
.contact-buttons>div>button{grid-column:auto}
@media(min-width:361px) and (max-width:768px){.directory-categories{margin-left:-16px;margin-right:-16px}}
@media(max-width:768px){.filters .check{min-height:40px}.filters .check input{margin-top:0}.product-open:focus-visible{outline-offset:-3px}}
.contact-buttons>div>button:last-child{grid-column:auto}
