:root{--dr-cyan:#00b8cc;--dr-cyan-dk:#0099aa;--dr-navy:#0f1f3d;--dr-dark:#111827;--dr-gray:#6b7280;--dr-light:#f3f4f6;--dr-white:#ffffff;--dr-shadow:0 4px 20px rgba(0,0,0,.10);--dr-radius:12px;--dr-color-accent:var(--dr-cyan);--dr-color-card-bg:var(--dr-white);--dr-color-title:var(--dr-dark);--dr-color-desc:#4b5563;--dr-color-tag-bg:#e0f7fa;--dr-color-tag-text:#006064;--dr-color-price:var(--dr-cyan);--dr-color-stars:#f59e0b;}
.dr-catalog-wrap{font-family:'Montserrat', 'Segoe UI', sans-serif;}
.dr-catalog-header{text-align:center;margin-bottom:28px;}
.dr-section-title{font-size:clamp(1.5rem, 4vw, 2rem);font-weight:800;color:var(--dr-color-title);margin:0 0 8px;}
.dr-section-title span{color:var(--dr-color-accent);}
.dr-section-sub {color:var(--dr-gray);font-size:1rem;margin:0;}
.dr-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px;}
.dr-search-wrap{position:relative;flex:1;min-width:200px;}
.dr-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1rem;}
.dr-search-input{width:100%;padding:11px 14px 11px 40px;border:2px solid #e5e7eb;border-radius:50px;font-size:.9rem;outline:none;transition:border-color .2s;box-sizing:border-box;}
.dr-search-input:focus{border-color:var(--dr-color-accent);}
.dr-filter-btns{display:flex;flex-wrap:wrap;gap:6px;}
.dr-filter-btn{padding:7px 16px;border:2px solid #e5e7eb;border-radius:50px;background:var(--dr-white);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;color:var(--dr-dark);white-space:nowrap;}
.dr-filter-btn:hover, .dr-filter-btn.active{background:var(--dr-color-accent);border-color:var(--dr-color-accent);color:var(--dr-white);}
.dr-cards-grid{display:grid;gap:20px;}
.dr-cols-1{grid-template-columns:1fr;}
.dr-cols-2{grid-template-columns:repeat(2, 1fr);}
.dr-cols-3{grid-template-columns:repeat(3, 1fr);}
.dr-cols-4{grid-template-columns:repeat(4, 1fr);}
.dr-restaurant-card{background:var(--dr-color-card-bg);border-radius:var(--dr-radius);box-shadow:var(--dr-shadow);overflow:hidden;transition:transform .25s, box-shadow .25s;display:flex;flex-direction:column;}
.dr-restaurant-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.15);}
.dr-restaurant-card.dr-hidden{display:none;}
.dr-card-img-wrap{position:relative;height:200px;overflow:hidden;}
.dr-card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.dr-restaurant-card:hover .dr-card-img-wrap img{transform:scale(1.05);}
.dr-card-img-placeholder{width:100%;height:100%;background:linear-gradient(135deg, #e0f7fa, #b2ebf2);display:flex;align-items:center;justify-content:center;font-size:3rem;}
.dr-card-img-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(15,31,61,.6) 0%, transparent 60%);}
.dr-card-badge{position:absolute;top:12px;left:12px;background:var(--dr-color-accent);color:var(--dr-white);padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.dr-card-img-name{position:absolute;bottom:12px;left:14px;right:14px;color:var(--dr-white);font-size:1.05rem;font-weight:800;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.4);}
.dr-card-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:9px;}
.dr-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.dr-card-address{font-size:.78rem;color:var(--dr-gray);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dr-card-price{font-size:.82rem;font-weight:700;color:var(--dr-color-price);flex-shrink:0;}
.dr-card-rating{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.dr-stars-filled{color:var(--dr-color-stars);letter-spacing:-1px;}
.dr-stars-empty{color:#d1d5db;letter-spacing:-1px;}
.dr-card-rating strong{font-size:.88rem;color:var(--dr-color-title);}
.dr-card-rating small{font-size:.76rem;color:var(--dr-gray);}
.dr-card-desc{font-size:.83rem;color:var(--dr-color-desc);line-height:1.5;margin:0;flex:1;}
.dr-card-tags{display:flex;flex-wrap:wrap;gap:5px;}
.dr-tag{background:var(--dr-color-tag-bg);color:var(--dr-color-tag-text);padding:3px 9px;border-radius:20px;font-size:.7rem;font-weight:600;}
.dr-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid #f3f4f6;gap:8px;}
.dr-card-phone{font-size:.8rem;color:var(--dr-gray);text-decoration:none;white-space:nowrap;}
.dr-card-phone:hover{color:var(--dr-color-accent);}
.dr-card-see-more{font-size:.73rem;font-weight:700;color:var(--dr-color-accent);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;text-decoration:none;white-space:nowrap;}
.dr-card-see-more:hover{text-decoration:underline;}
.dr-hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:480px;overflow:hidden;padding:0;}
.dr-hero-overlay{position:absolute;inset:0;z-index:1;}
.dr-hero-content{position:relative;z-index:2;padding:clamp(24px, 5vw, 56px) clamp(20px, 5vw, 56px);max-width:700px;}
.dr-hero-badge{display:inline-block;border:1.5px solid var(--dr-color-accent);color:var(--dr-color-accent);font-size:.65rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 14px;border-radius:50px;margin-bottom:18px;}
.dr-hero-title{font-size:clamp(2.2rem, 7vw, 3.8rem);font-weight:900;line-height:1.1;margin:0 0 16px;font-family:'Montserrat', 'Segoe UI', sans-serif;}
.dr-hero-title-white{color:#ffffff;display:block;}
.dr-hero-title-accent{color:var(--dr-color-accent);display:block;}
.dr-hero-subtitle{font-size:clamp(.9rem, 2.5vw, 1.05rem);color:rgba(255,255,255,.88);line-height:1.6;margin:0 0 20px;max-width:560px;}
.dr-hero-features{display:flex;flex-wrap:wrap;gap:8px 20px;}
.dr-hero-feat{font-size:clamp(.78rem, 2vw, .9rem);color:rgba(255,255,255,.9);font-weight:600;}
.dr-single-wrap{font-family:'Montserrat', 'Segoe UI', sans-serif;}
.dr-single-hero{position:relative;min-height:380px;display:flex;align-items:flex-end;background:var(--dr-navy) center/cover no-repeat;}
.dr-single-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(15,31,61,.85), rgba(15,31,61,.3));}
.dr-single-hero-content{position:relative;z-index:1;padding:clamp(20px, 5vw, 40px);color:var(--dr-white);}
.dr-single-hero-content h1{font-size:clamp(1.6rem, 5vw, 2.4rem);font-weight:800;margin:10px 0 12px;}
.dr-single-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.dr-single-rating .dr-stars-filled{font-size:1.2rem;}
.dr-single-rating strong{font-size:1.1rem;}
.dr-single-rating small{color:rgba(255,255,255,.7);}
.dr-single-body{display:grid;grid-template-columns:1fr 300px;gap:28px;padding:clamp(20px, 4vw, 40px) 0;max-width:1200px;margin:0 auto;}
.dr-single-section{margin-bottom:32px;}
.dr-single-section h2{font-size:1.3rem;font-weight:800;color:var(--dr-color-title);margin-bottom:14px;padding-bottom:8px;border-bottom:3px solid var(--dr-color-accent);display:inline-block;}
.dr-gallery-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:8px;}
.dr-gallery-grid a{border-radius:8px;overflow:hidden;display:block;aspect-ratio:4/3;}
.dr-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.dr-gallery-grid a:hover img{transform:scale(1.05);}
.dr-menu-widget{font-family:'Montserrat', 'Segoe UI', sans-serif;}
.dr-widget-title{font-size:1.2rem;font-weight:800;color:var(--dr-color-title);margin-bottom:18px;}
.dr-menu-section{margin-bottom:22px;}
.dr-menu-section-title{font-size:.95rem;font-weight:700;color:var(--dr-color-accent);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--dr-color-accent);padding-bottom:6px;margin-bottom:10px;}
.dr-menu-items{display:flex;flex-direction:column;}
.dr-menu-item{display:flex;align-items:baseline;gap:8px;padding:9px 0;border-bottom:1px dashed #e5e7eb;}
.dr-menu-item:last-child{border:none;}
.dr-menu-item-name{font-weight:600;color:var(--dr-color-title);flex:1;font-size:.9rem;}
.dr-menu-item-desc{font-size:.78rem;color:var(--dr-gray);}
.dr-menu-price{font-weight:700;color:var(--dr-color-accent);white-space:nowrap;font-size:.88rem;}
.dr-menu-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;}
.dr-menu-tab{padding:7px 16px;border:2px solid #e5e7eb;border-radius:50px;background:var(--dr-white);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;}
.dr-menu-tab.active{border-color:var(--dr-color-accent);color:var(--dr-color-accent);}
.dr-tab-panel{display:none;}
.dr-tab-panel.active{display:block;}
.dr-menu-cards .dr-menu-section{background:var(--dr-light);border-radius:var(--dr-radius);padding:18px;}
.dr-rating-widget{display:flex;align-items:center;gap:12px;font-family:'Montserrat', 'Segoe UI', sans-serif;flex-wrap:wrap;}
.dr-rating-badge{background:var(--dr-white);border:1px solid #e5e7eb;border-radius:var(--dr-radius);padding:14px 18px;box-shadow:var(--dr-shadow);}
.dr-rating-stars .dr-stars-filled{font-size:1.2rem;}
.dr-rating-score{font-size:1.7rem;font-weight:800;color:var(--dr-color-title);display:block;}
.dr-rating-count{font-size:.8rem;color:var(--dr-gray);}
.dr-rating-link{display:block;font-size:.78rem;color:var(--dr-color-accent);margin-top:6px;text-decoration:none;}
.dr-rating-google-logo{font-size:.78rem;font-weight:700;color:var(--dr-gray);}
.dr-rating-google-logo span{color:#4285f4;}
.dr-map-wrap{position:relative;overflow:hidden;border-radius:var(--dr-radius);}
.dr-map-iframe{width:100%;height:360px;border:0;display:block;}
.dr-map-info-bar{background:var(--dr-white);padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid #e5e7eb;}
.dr-map-name {font-weight:700;color:var(--dr-color-title);font-size:.9rem;}
.dr-map-address{font-size:.82rem;color:var(--dr-gray);}
.dr-map-link {margin-left:auto;font-size:.8rem;color:var(--dr-color-accent);text-decoration:none;font-weight:600;}
.dr-contact-widget{background:var(--dr-white);border:1px solid #e5e7eb;border-radius:var(--dr-radius);padding:20px;box-shadow:var(--dr-shadow);}
.dr-contact-name{font-size:1.15rem;font-weight:800;color:var(--dr-color-title);margin:0 0 10px;}
.dr-contact-rating{display:flex;align-items:center;gap:6px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #f3f4f6;flex-wrap:wrap;}
.dr-contact-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.dr-contact-row{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--dr-color-title);}
.dr-contact-row a{color:var(--dr-color-accent);text-decoration:none;}
.dr-contact-icon{font-size:.95rem;flex-shrink:0;margin-top:1px;}
.dr-contact-btn{display:block;width:100%;padding:11px;border-radius:8px;text-align:center;font-weight:700;font-size:.88rem;text-decoration:none;margin-bottom:8px;transition:all .2s;box-sizing:border-box;}
.dr-contact-btn-primary{background:var(--dr-color-accent);color:var(--dr-white);}
.dr-contact-btn-primary:hover{opacity:.88;}
.dr-contact-btn-secondary{background:var(--dr-light);color:var(--dr-color-title);border:2px solid #e5e7eb;}
.dr-contact-btn-secondary:hover{background:#e5e7eb;}
.dr-empty-state{text-align:center;padding:36px 20px;color:var(--dr-gray);font-size:.9rem;}
@media(max-width:1024px){
.dr-cols-4{grid-template-columns:repeat(2, 1fr);}
.dr-cols-3{grid-template-columns:repeat(2, 1fr);}
.dr-single-body{grid-template-columns:1fr;}
} @media(max-width:640px){
.dr-cols-2, .dr-cols-3, .dr-cols-4{grid-template-columns:1fr;}
.dr-cards-grid{gap:16px;}
.dr-card-img-wrap{height:180px;}
.dr-card-body{padding:14px;gap:8px;}
.dr-card-img-name{font-size:.95rem;}
.dr-filter-bar{gap:8px;}
.dr-search-wrap{min-width:100%;}
.dr-filter-btns{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
.dr-filter-btn{flex-shrink:0;}
.dr-catalog-header{margin-bottom:20px;}
.dr-hero{min-height:360px;}
.dr-hero-title{font-size:clamp(1.8rem, 8vw, 2.8rem);}
.dr-hero-features{gap:6px 14px;}
.dr-single-hero{min-height:280px;}
.dr-single-hero-content h1{font-size:1.5rem;}
.dr-gallery-grid{grid-template-columns:repeat(2, 1fr);}
.dr-map-iframe{height:280px;}
.dr-contact-widget{padding:16px;}
.dr-menu-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
.dr-menu-tab{flex-shrink:0;}
} @media(max-width:380px){
.dr-hero-title { font-size: 1.7rem; }
.dr-card-footer { flex-direction: column; align-items: flex-start; gap: 6px; }
}