/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.tooltip{max-width:800px;margin:20px auto;padding:20px;border:1px solid #ddd;border-radius:4px;}.tooltip-content h2{margin-top:0;color:#333;}.tooltip-description{margin:20px 0;}.tooltip-link{background:#f5f5f5;padding:15px;border-radius:4px;margin:20px 0;}.tooltip-code{background:#fff;padding:5px 10px;border:1px solid #ddd;border-radius:3px;margin:0 10px;}.copy-tooltip-code{background:#0071b8;color:white;border:none;padding:5px 15px;border-radius:3px;cursor:pointer;}.copy-tooltip-code:hover{background:#005689;}.tooltip-metadata{margin-top:20px;padding-top:20px;border-top:1px solid #ddd;color:#666;font-size:0.9em;}pre{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:5px;font-family:monospace;}.tooltip-description-container{max-width:400px;text-overflow:ellipsis;white-space:normal;overflow:visible;position:relative;z-index:1;background:white;box-shadow:0 2px 4px rgba(0,0,0,0.1);padding:4px;text-align:center;}
.subscription-notification-bar{position:fixed;bottom:0;left:0;width:100%;background:linear-gradient(135deg,#FF5722,#FF9800);color:white;padding:15px 20px;display:flex;justify-content:center;align-items:center;box-shadow:0 -2px 10px rgba(0,0,0,0.2);z-index:999;transform:translateY(100%);transition:transform 0.3s ease-in-out;}.subscription-notification-bar.show{transform:translateY(0);}.subscription-notification-content{display:flex;align-items:center;gap:12px;}.subscription-notification-text h4{margin:0 0 5px;font-size:16px;font-weight:600;}.subscription-notification-text p{margin:0;font-size:14px;opacity:0.9;color:#f9f9f9;}.subscription-notification-cta{margin-left:20px;}.subscription-notification-button{background-color:white;color:#FF5722 !important;border:none;padding:10px 20px;border-radius:50px;font-weight:600;cursor:pointer;transition:all 0.3s ease;text-decoration:none;display:inline-block;font-size:14px;}.subscription-notification-button:hover{background-color:#f9f9f9;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.1);}.subscription-notification-close{margin-left:15px;cursor:pointer;font-size:20px;opacity:0.7;transition:opacity 0.3s;}.subscription-notification-close:hover{opacity:1;}@media (max-width:768px){.subscription-notification-bar{flex-direction:column;padding:15px;}.subscription-notification-content{margin-bottom:15px;width:100%;}.subscription-notification-cta{margin-left:0;width:100%;display:flex;justify-content:center;}.subscription-notification-button{width:100%;text-align:center;}.subscription-notification-icon{margin-right:7px;}.subscription-notification-close{position:absolute;top:10px;right:10px;}}
span.ext{width:10px;height:10px;padding-right:12px;text-decoration:none;background:url(/modules/contrib/extlink/images/extlink_s.png) 2px center no-repeat;}span.mailto{width:10px;height:10px;padding-right:12px;text-decoration:none;background:url(/modules/contrib/extlink/images/extlink_s.png) -20px center no-repeat;}span.tel{width:10px;height:10px;padding-right:12px;text-decoration:none;background:url(/modules/contrib/extlink/images/extlink_s.png) -42px center no-repeat;}svg.ext{width:14px;height:14px;fill:#727272;font-weight:900;}svg.mailto,svg.tel{width:14px;height:14px;fill:#727272;}[data-extlink-placement='prepend'],[data-extlink-placement='before']{padding-right:0.2rem;}[data-extlink-placement='append'],[data-extlink-placement='after']{padding-left:0.2rem;}svg.ext path,svg.mailto path,svg.tel path{stroke:#727272;stroke-width:3;}@media print{svg.ext,svg.mailto,svg.tel,span.ext,span.mailto,span.tel{display:none;padding:0;}}.extlink i{padding-left:0.2em;}.extlink-nobreak{white-space:nowrap;}
.filter-icon-btn{display:flex;align-items:center;padding:16px;border-radius:100px;cursor:pointer;transition:all 0.3s ease-in-out;}.filter-icon-btn:hover{box-shadow:0 2px 10px rgba(0,0,0,0.2);transform:translateY(-2px);}.filter-icon svg{width:20px;height:20px;color:var(--textBlack);}.filter-text{font-weight:500;font-size:16px;}.filters-wrapper{position:fixed;top:0;right:-100%;width:300px;height:100vh;background:#fff;box-shadow:-2px 0 10px rgba(0,0,0,0.1);z-index:1000;transition:right 0.3s ease;display:flex;flex-direction:column;}.filters-wrapper.active{right:0;}.filters-header{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;}.filters-header h3{margin:0;font-size:1.25rem;color:#333;}.close-filters-btn{background:none;border:none;padding:5px;cursor:pointer;color:#666;border-radius:4px;transition:all 0.3s ease-in-out;}.close-filters-btn:hover{color:#333;background-color:#eee;}.filters-content{flex:1;overflow-y:auto;padding:20px;}.filter-group{margin-bottom:20px;}.filter-group h4{margin:0 0 10px 0;color:#333;font-size:1rem;}.filter-options{max-height:none;overflow-y:visible;}.checkbox-wrapper{display:flex;padding:2px 0;align-content:center;flex-wrap:wrap;}.checkbox-wrapper input[type="checkbox"]{margin-right:10px;}.filters-footer{padding:20px;border-top:1px solid #eee;display:flex;justify-content:space-between;align-items:center;gap:10px;}.filters-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:999;opacity:0;transition:opacity 0.3s;}.filters-overlay.active{display:block;opacity:1;}.filter-icon-wrapper.filter-bottom{position:fixed;z-index:99;width:45px;height:45px;background:#459c59;box-shadow:rgba(100,100,111,0.2) 0px 7px 29px 0px;display:flex;align-items:center;justify-content:center;border-radius:100%;left:10px;bottom:10px;}.filter-icon-wrapper.filter-bottom .filter-icon svg{color:#fff;}@media (min-width:768px){.filters-wrapper{width:50%;max-width:767px;box-shadow:none;margin-bottom:20px;}.filters-overlay{display:none !important;}}@media (max-width:767px){.filters-wrapper{width:100%;max-width:290px;}.filter-icon-btn{padding:10px 16px;}.filters-content{padding:15px;}.filters-footer{padding:15px;}}@media screen and (max-width:479px){.filters-content{padding-bottom:180px;}.filters-footer{position:fixed;bottom:0;background:#FFF;right:-100%;max-width:290px;width:100%;transition:right 0.3s ease;}.filters-wrapper.active .filters-footer{right:0;}}.vendors-listing{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding-top:30px;}.vendor-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1);overflow:hidden;transition:transform 0.3s ease,box-shadow 0.3s ease;position:relative;}.vendor-card:hover{transform:translateY(-5px);}.vendor-banner-carousel{position:relative;height:200px;overflow:hidden;border-radius:20px;}.banner-image{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;}.vendors-listing .button.load-more-btn{margin:0 auto;max-width:auto;}@media screen and (min-width:768px){.vendors-listing .button.load-more-btn{grid-column:1 / 3;}}.vendor-info{padding:16px 0 10px;}.vendor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;}.vendor-title{margin:0;font-size:1.25rem;font-weight:600;}.vendor-link:hover{color:var(--textBlack);}.vendor-actions{display:flex;gap:10px;}.btn-vendor-contact{background:#f2f1ec;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all 0.3s ease-in-out;display:flex;align-items:center;justify-content:center;}.btn-vendor-contact img{width:16px;height:auto;}.vendors-listing .vendor-card:hover .btn-vendor-contact{transform:scale(1.1);box-shadow:rgba(0,0,0,0.1) 0px 4px 12px;}.vendor-details{margin-top:15px;}.detail-item{display:flex;align-items:center;margin-bottom:12px;font-size:0.9rem;gap:10px;}.detail-label{color:#666;min-width:100px;font-weight:500;}.detail-value{color:#333;text-decoration:none !important;transition:color 0.2s ease;}.vendor-footer{margin-top:20px;padding-top:15px;border-top:1px solid #eee;display:flex;justify-content:space-between;align-items:center;}.vendor-rating{display:flex;align-items:center;gap:5px;}.rating-stars{color:#ffc107;font-size:1rem;letter-spacing:2px;}.rating-value{color:#666;font-size:0.9rem;}.vendor-contact{display:flex;gap:15px;}.contact-phone,.contact-email{color:#666;text-decoration:none;display:flex;align-items:center;gap:5px;font-size:0.9rem;transition:color 0.2s ease;}.contact-phone:hover,.contact-email:hover{color:var(--buttonPrimary);}.contact-phone img,.contact-email img{width:16px;height:16px;opacity:0.7;}.vendor-card.loading{position:relative;min-height:350px;}.vendor-card.loading::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 50%,rgba(255,255,255,0) 100%);animation:loading 1.5s infinite;}@keyframes loading{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}.no-results{grid-column:1 / -1;text-align:center;padding:40px;background:#f8f9fa;border-radius:8px;color:#666;}.no-results p{margin:0;font-size:1.1rem;}@media (max-width:767px){.vendor-banner-carousel{height:180px;}.vendor-info{padding:15px;}.vendor-title{font-size:1.1rem;}.detail-item{font-size:0.85rem;}.detail-label{min-width:90px;}.vendor-footer{flex-direction:column;gap:10px;align-items:flex-start;}.vendors-listing{grid-template-columns:repeat(1,1fr);gap:20px;}}.vendor-description{margin-top:15px;color:#666;font-size:0.9rem;line-height:1.5;}.vendor-description p{margin:0;}.vendor-banner-carousel{position:relative;}.carousel-nav{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:2;}.carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.5);border:none;padding:0;cursor:pointer;}.carousel-dot.active{background:#fff;}.vendor-card.error{border:1px solid #dc3545;background:#fff5f5;}.error-message{color:#dc3545;text-align:center;padding:20px;font-size:0.9rem;}@keyframes shimmer{0%{background-position:-1000px 0;}100%{background-position:1000px 0;}}.vendor-card.loading .vendor-banner-carousel,.vendor-card.loading .vendor-title,.vendor-card.loading .detail-item{background:linear-gradient(to right,#f6f7f8 8%,#edeef1 18%,#f6f7f8 33%);background-size:2000px 100%;animation:shimmer 2s infinite linear;}@media print{.vendors-listing{display:block;}.vendor-card{break-inside:avoid;margin-bottom:20px;box-shadow:none;border:1px solid #ddd;}.vendor-banner-carousel{display:none;}}.vendors-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:1rem;}.accordion-header{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:#f8f8f8;cursor:pointer;transition:background-color 0.3s ease-in-out;}.accordion-header:hover{background-color:#f0f0f0;}.accordion-header.active{background-color:#e8e8e8;}.accordion-content{display:none;padding:1rem;}.vendors-listing:has(.vendor-accordion){grid-template-columns:1fr;max-width:900px;margin:0 auto;}.vendors-listing .vendor-accordion{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,0.1);}.vendors-listing .vendor-card{transition:transform 0.3s ease-in-out;}@supports not (selector(:has(*))){.vendors-listing.accordion-layout{grid-template-columns:1fr;max-width:900px;margin:0 auto;}}.accordion-header h2{font-size:16px;font-weight:600;}.favorite-choice-accordion{border:1px solid #ddd;border-radius:4px;}.favorite-choice-accordion .accordion-header{padding:10px;background:#f5f5f5;cursor:pointer;position:relative;border-radius:4px;min-width:215px;display:flex;justify-content:space-between;align-items:center;transition:background-color 0.3s ease;}.favorite-choice-accordion .accordion-header h4{margin:0;color:#333;display:flex;align-items:center;justify-content:space-between;}.favorite-choice-accordion .accordion-content{display:none;padding:15px;border-top:1px solid #ddd;}.choice-details{display:flex;flex-direction:column;gap:10px;}.choice-item{display:flex;align-items:center;gap:10px;}.choice-label{font-weight:600;color:#666;min-width:70px;}.choice-value{color:#333;}.choice-actions{display:flex;gap:10px;padding-top:15px;border-top:1px solid #eee;}.selection-dialog,.filter-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;}.dialog-overlay,.modal-overlay{position:absolute;width:100%;height:100%;background:rgba(0,0,0,0.5);}.dialog-content,.modal-content{position:relative;background:white;max-width:500px;margin:20vh auto;padding:20px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,0.1);}.dialog-buttons{display:flex;gap:10px;margin-top:20px;}.dialog-close,.modal-close{position:absolute;right:10px;top:10px;background:none;border:none;font-size:24px;cursor:pointer;padding:5px;}.filter-sections{margin:20px 0;max-height:400px;overflow-y:auto;}.filter-section{margin-bottom:20px;}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}.checkbox-wrapper{margin:5px 0;}
