/* AX623 — global customer-first responsive audit: iPhone / Android / tablet / desktop */
:root{--ax623-ink:#201d19;--ax623-muted:#69645d;--ax623-gold:#a97c2f;--ax623-line:#e6ded1;--ax623-paper:#fff;--ax623-soft:#f8f5ef;--ax623-shadow:0 14px 42px rgba(37,31,23,.075)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-wrap:anywhere}img{max-width:100%}button,a,input,select,textarea{font:inherit}button,a.btn{touch-action:manipulation}.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800!important;line-height:1.2!important}.card{overflow:hidden}
/* public business detail: paid profiles */
body.type-vinarstvi,body.type-restaurace,body.type-hotel,body.type-kavarna{font-size:17px!important;line-height:1.58!important;color:var(--ax623-ink)!important}
.type-vinarstvi .hero,.type-restaurace .hero,.type-hotel .hero,.type-kavarna .hero{border-radius:30px!important;box-shadow:var(--ax623-shadow)!important}
.type-vinarstvi .logo,.type-restaurace .logo,.type-hotel .logo,.type-kavarna .logo{object-fit:contain!important;object-position:center!important;background:#fff!important}
.type-vinarstvi .hero p,.type-restaurace .hero p,.type-hotel .hero p,.type-kavarna .hero p{max-width:76ch;font-size:17px!important;color:#5f5a53!important}
.type-vinarstvi .card h2,.type-restaurace .card h2,.type-hotel .card h2,.type-kavarna .card h2{line-height:1.14!important;letter-spacing:-.02em}
.type-vinarstvi .chip,.type-restaurace .chip,.type-hotel .chip,.type-kavarna .chip{font-size:15px!important;line-height:1.25!important;min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:9px 12px!important}
.type-vinarstvi .contactLink,.type-restaurace .contactLink,.type-hotel .contactLink,.type-kavarna .contactLink{font-size:16px!important;line-height:1.3!important}
.type-vinarstvi .item img,.type-vinarstvi .wineryGallery img{object-fit:contain!important;object-position:center!important;background:var(--ax623-soft)!important}
/* forms */
input,select,textarea{font-size:16px;line-height:1.35}select{min-height:48px}textarea{min-height:110px}
/* Discovery */
body .filters input,body .filters select{min-height:48px;font-size:16px}body .cards .card{box-shadow:var(--ax623-shadow);border-radius:22px}body .cards .cardLogo{object-fit:contain;background:#fff}
/* Demo restaurant/hotel/cafe pages: typography and touch targets */
body .contactAction,body .cafeContactActions a{min-height:62px}body .contactAction b,body .cafeContactActions b{font-size:15px;line-height:1.3}body .operationGrid b,body .cafeWeek small{font-size:15px}
@media (min-width:1024px){
 body.type-vinarstvi .w,body.type-restaurace .w,body.type-hotel .w,body.type-kavarna .w{max-width:1220px!important;margin-inline:auto!important;padding-inline:24px!important}
 .type-vinarstvi .hero h1,.type-restaurace .hero h1,.type-hotel .hero h1,.type-kavarna .hero h1{font-size:clamp(42px,4vw,58px)!important}
}
@media (max-width:820px){
 body{font-size:16px}.w{padding-left:14px!important;padding-right:14px!important}
 body.type-vinarstvi,body.type-restaurace,body.type-hotel,body.type-kavarna{font-size:16.5px!important;line-height:1.55!important}
 .type-vinarstvi .hero,.type-restaurace .hero,.type-hotel .hero,.type-kavarna .hero{padding:20px 17px!important;border-radius:24px!important}
 .type-vinarstvi .brandline,.type-restaurace .brandline,.type-hotel .brandline,.type-kavarna .brandline{grid-template-columns:104px minmax(0,1fr)!important;gap:15px!important;align-items:center!important}
 .type-vinarstvi .logo,.type-restaurace .logo,.type-hotel .logo,.type-kavarna .logo{width:104px!important;height:90px!important;padding:7px!important;border-radius:18px!important}
 .type-vinarstvi .hero h1,.type-restaurace .hero h1,.type-hotel .hero h1,.type-kavarna .hero h1{font-size:clamp(30px,9vw,39px)!important;line-height:1.03!important;margin:6px 0 8px!important}
 .type-vinarstvi .hero p,.type-restaurace .hero p,.type-hotel .hero p,.type-kavarna .hero p{font-size:16.5px!important;line-height:1.55!important}
 .type-vinarstvi .card h2,.type-restaurace .card h2,.type-hotel .card h2,.type-kavarna .card h2{font-size:clamp(25px,7vw,30px)!important}
 .type-vinarstvi .wineryFact b{font-size:16px!important}.type-vinarstvi .wineryFact small{font-size:12px!important;font-weight:850!important}
 .type-vinarstvi .wineryAmenity span{font-size:16px!important}.type-vinarstvi .wineryAmenity i{font-size:22px!important}
 .btn{min-height:48px;padding:12px 15px!important;font-size:16px!important;border-radius:14px!important}
 .wineryNav{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.wineryNav .btn{width:100%!important}
 .printbar.wineryTools{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.printbar.wineryTools .btn{font-size:14px!important;padding:10px 7px!important;min-width:0!important}
 .contactLink{min-height:58px!important}.hoursCard .hourRow{font-size:16px!important;min-height:47px!important}
 body .grid{grid-template-columns:1fr!important}
 body .cards{grid-template-columns:1fr!important}
 body .filters{padding:14px!important}.filters .checks{gap:8px!important}.filters .checks label{font-size:15px!important;min-height:40px;display:flex;align-items:center}
 body .contactActionGrid,body .cafeContactActions{grid-template-columns:1fr!important}
 body .operationGrid,body .cafeWeek{grid-template-columns:1fr 1fr!important}
}
@media (max-width:390px){
 .w{padding-left:10px!important;padding-right:10px!important}
 .type-vinarstvi .brandline,.type-restaurace .brandline,.type-hotel .brandline,.type-kavarna .brandline{grid-template-columns:92px minmax(0,1fr)!important;gap:12px!important}
 .type-vinarstvi .logo,.type-restaurace .logo,.type-hotel .logo,.type-kavarna .logo{width:92px!important;height:82px!important}
 .type-vinarstvi .hero h1,.type-restaurace .hero h1,.type-hotel .hero h1,.type-kavarna .hero h1{font-size:30px!important}
 .printbar.wineryTools{grid-template-columns:1fr!important}.printbar.wineryTools .btn{width:100%!important}
 body .operationGrid,body .cafeWeek{grid-template-columns:1fr!important}
}

/* AX624 — unified responsive card geometry across iPhone / Android / tablet / desktop */
.cards{align-items:stretch;grid-auto-rows:1fr}
.cards>article,.cards>.card,.cards>.ax604-card{height:100%;min-height:0}
.cards>.card{display:flex;flex-direction:column}
.cards>.card>p:last-child{margin-top:auto;padding-top:14px}
.cards>.card h2{min-height:2.35em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cards>.card .cardHead{min-height:56px}
.cards>.card .liveFact{min-height:62px}
.ax604-card{height:100%}
.ax604-visual{flex:0 0 260px;height:260px}
.ax604-body{min-height:330px}
.ax604-intro{min-height:46px}
.ax604-offer{min-height:0}
.ax604-desc{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ax604-actions{align-self:stretch}
/* Homepage/business card grids: equal cards without forcing text overflow */
.near .cards{align-items:stretch;grid-auto-rows:1fr}
.near .cards>article{height:100%}
.near .cards>article>a{height:100%;display:flex;flex-direction:column}
.near .card-body{display:flex;flex-direction:column;flex:1}
.near .card-body>b{margin-top:auto}
@media (min-width:821px){
 .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cards>.card,.cards>.ax604-card{min-width:0}
}
@media (min-width:561px) and (max-width:820px){
 .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr}
 .ax604-visual{flex-basis:235px;height:235px}
 .ax604-body{min-height:320px}
 .ax604-heroText strong{font-size:27px}
}
@media (max-width:560px){
 .cards{grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:auto}
 .cards>article,.cards>.card,.cards>.ax604-card{height:auto;width:100%}
 .cards>.card h2{min-height:0}
 .cards>.card .liveFact{min-height:0}
 .ax604-visual{flex-basis:228px;height:228px}
 .ax604-body{min-height:0;padding:17px}
}
@media (max-width:390px){
 .ax604-visual{flex-basis:214px;height:214px;padding:15px}
 .ax604-heroText{left:15px;bottom:16px}
 .ax604-logo{right:15px;bottom:15px}
}

/* AX625 — device geometry hardening: consistent cards, media and overflow */
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}.w,main,section,aside,.grid,.cards,.card{min-width:0}.card img,.item img,.cards img{display:block;max-width:100%}
/* Keep public catalogue cards visually uniform even with different content lengths. */
.cards>.card,.cards>.ax604-card{border-radius:22px;overflow:hidden}.cards>.card{padding:clamp(16px,2vw,22px)}
.cards>.card p,.cards>.card h2,.cards>.card h3,.ax604-body p,.ax604-body h2,.ax604-body h3{overflow-wrap:anywhere}
/* Detail page content should never create horizontal scrolling on narrow phones. */
.type-vinarstvi .grid,.type-restaurace .grid,.type-hotel .grid,.type-kavarna .grid{align-items:start}.type-vinarstvi aside,.type-restaurace aside,.type-hotel aside,.type-kavarna aside{min-width:0}.contactText{min-width:0;overflow-wrap:anywhere;word-break:break-word}.chips{display:flex;flex-wrap:wrap;gap:8px}.items{align-items:stretch}.items>.item{height:100%;min-width:0;overflow:hidden}.items>.item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.wineryGallery{max-width:100%;overflow:hidden}
@media (min-width:1180px){.cards{gap:24px}.cards>.card,.cards>.ax604-card{max-width:none}.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media (min-width:821px) and (max-width:1179px){.cards{gap:18px}.items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (min-width:561px) and (max-width:820px){.cards{gap:16px}.items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.type-vinarstvi .grid,.type-restaurace .grid,.type-hotel .grid,.type-kavarna .grid{grid-template-columns:1fr!important}}
@media (max-width:560px){body{width:100%;min-width:0}.w,main.w{width:100%;max-width:100%;padding-left:12px!important;padding-right:12px!important}.cards{gap:14px}.cards>.card,.cards>.ax604-card{border-radius:18px}.items{display:grid;grid-template-columns:1fr!important;gap:13px}.items>.item{height:auto}.items>.item img{aspect-ratio:16/10}.chips{gap:7px}.chip{max-width:100%;white-space:normal}.contactLink{width:100%;min-width:0}.contactText{font-size:15px!important}.btn{max-width:100%;white-space:normal;text-align:center}.hero{max-width:100%;overflow:hidden}}
@media (max-width:390px){.w,main.w{padding-left:9px!important;padding-right:9px!important}.cards>.card{padding:15px}.items>.item img{aspect-ratio:3/2}.chip{font-size:14px!important}.contactText{font-size:14px!important}}


/* AX626 — all-sector responsive detail standard: every business type shares one geometry */
.public-business-detail{font-size:17px!important;line-height:1.58!important;color:var(--ax623-ink)!important}
.public-business-detail .w{width:100%;max-width:1220px;margin-inline:auto}
.public-business-detail .hero{border-radius:30px!important;box-shadow:var(--ax623-shadow)!important;max-width:100%;overflow:hidden}
.public-business-detail .brandline{min-width:0}.public-business-detail .brandline>*{min-width:0}
.public-business-detail .logo{object-fit:contain!important;object-position:center!important;background:#fff!important}
.public-business-detail .hero h1{overflow-wrap:anywhere}.public-business-detail .hero p{max-width:76ch;font-size:17px!important;color:#5f5a53!important}
.public-business-detail .grid{align-items:start}.public-business-detail section,.public-business-detail aside{min-width:0}
.public-business-detail .card{max-width:100%}.public-business-detail .card h2{line-height:1.14!important;letter-spacing:-.02em}
.public-business-detail .chip{font-size:15px!important;line-height:1.25!important;min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:9px 12px!important}
.public-business-detail .contactLink{font-size:16px!important;line-height:1.3!important}
.public-business-detail .item img{object-fit:cover!important;object-position:center!important;background:var(--ax623-soft)!important}
.public-business-detail .item,.public-business-detail .card,.public-business-detail .contact{min-width:0}
.public-business-detail a,.public-business-detail button,.public-business-detail input,.public-business-detail select,.public-business-detail textarea{max-width:100%}
@media (min-width:1024px){.public-business-detail .w{padding-inline:24px!important}.public-business-detail .hero h1{font-size:clamp(42px,4vw,58px)!important}}
@media (max-width:820px){
 .public-business-detail{font-size:16.5px!important;line-height:1.55!important}
 .public-business-detail .hero{padding:20px 17px!important;border-radius:24px!important}
 .public-business-detail .brandline{grid-template-columns:104px minmax(0,1fr)!important;gap:15px!important;align-items:center!important}
 .public-business-detail .logo{width:104px!important;height:90px!important;padding:7px!important;border-radius:18px!important}
 .public-business-detail .hero h1{font-size:clamp(30px,9vw,39px)!important;line-height:1.03!important;margin:6px 0 8px!important}
 .public-business-detail .hero p{font-size:16.5px!important;line-height:1.55!important}
 .public-business-detail .card h2{font-size:clamp(25px,7vw,30px)!important}
 .public-business-detail .grid{grid-template-columns:1fr!important}
 .public-business-detail .btn{min-height:48px;padding:12px 15px!important;font-size:16px!important;border-radius:14px!important}
}
@media (max-width:560px){
 .public-business-detail .brandline{grid-template-columns:86px minmax(0,1fr)!important;gap:12px!important}
 .public-business-detail .logo{width:86px!important;height:78px!important}
 .public-business-detail .hero h1{font-size:clamp(28px,9vw,35px)!important}
 .public-business-detail .card{padding:18px 16px!important;border-radius:20px!important}
 .public-business-detail .items>.item img{aspect-ratio:16/10;object-fit:cover!important}
 .public-business-detail .contactLink,.public-business-detail .btn{width:100%;min-width:0}
}
@media (max-width:390px){
 .public-business-detail .brandline{grid-template-columns:76px minmax(0,1fr)!important;gap:10px!important}
 .public-business-detail .logo{width:76px!important;height:70px!important}
 .public-business-detail .hero h1{font-size:28px!important}
 .public-business-detail .card{padding:16px 14px!important}
}
/* AX6 unified card geometry */
.cards{align-items:stretch}.cards>.ax604-card{height:100%;min-height:610px}.ax604-body{min-height:350px}.ax604-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ax604-offer{min-height:0}.ax604-chips{min-height:30px}.ax604-actions{align-self:stretch}
@media(max-width:800px){.cards>.ax604-card{min-height:590px}}
@media(max-width:560px){.cards>.ax604-card{min-height:0;height:auto}.ax604-body{min-height:0}.ax604-chips{min-height:0}}
