/* Doplněk k původnímu style.css; nepřepisuje hlavní design. */
.es-icon-wrap { display: inline-flex; align-items: center; justify-content: center; vertical-align: -0.13em; }
.es-icon-wrap svg { width: 1em; height: 1em; display: inline-block; stroke: currentColor; fill: none; flex-shrink: 0; }
.partner-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
.partner-grid .partner-tile { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:22px; min-height:180px; text-align:center; background:#fff; border:1px solid rgba(80,66,55,.11); border-radius:12px; overflow:hidden; }
.partner-grid .partner-tile img { max-width:100%; width:auto; height:auto; max-height:132px; object-fit:contain; display:block; }
.partner-grid .partner-tile small { display:block; font-size:13px; line-height:1.45; color:#6f655e; letter-spacing:0; font-weight:400; }
@media (max-width:800px) { .partner-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .partner-grid .partner-tile {padding:15px;min-height:140px;gap:10px} .partner-grid .partner-tile img {max-height:100px;} }
@media (max-width:420px) { .partner-grid .partner-tile {padding:12px;min-height:125px} .partner-grid .partner-tile img {max-height:88px} .partner-grid .partner-tile small {font-size:12px} }

/* Podrobné kroky balíčků */
.package-procedure-list{padding-left:1.35rem;margin:0 0 1.8rem;line-height:1.85}.package-procedure-list li{padding-left:.3rem;margin-bottom:.3rem}.package-detail-content h3{margin:1.5rem 0 .85rem;font-size:1.22rem}.package-detail-content>p{line-height:1.85;margin-bottom:1rem}

/* Klikací loga spolupráce */
.partner-tile .partner-logo-link { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:90px; text-decoration:none; cursor:pointer; }
.partner-tile .partner-logo-link img { max-width:100%; }
.partner-tile .partner-logo-link:focus-visible { outline:3px solid #987656; outline-offset:3px; border-radius:8px; }

/* Recenze Google – doplnění na úvodní stránce */
#recenze { scroll-margin-top: 105px; }
.es-reviews { padding: 88px 0 94px; background: #faf6f1; }
.es-reviews-intro { max-width: 690px; margin: 0 auto 36px; text-align: center; }
.es-reviews-eyebrow { display:block; color:#93745c; font:600 11px/1.5 "DM Sans", sans-serif; letter-spacing:.2em; margin-bottom:15px; }
.es-reviews h2 { font-family: "Playfair Display",Georgia,serif; font-weight:400; font-size:clamp(29px,3.5vw,45px); line-height:1.22; color:#322b27; margin:0 0 17px; }
.es-reviews-intro p { margin:0 auto; line-height:1.8; color:#71665d; }
.es-reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.es-review { background:#fff; border:1px solid #eae1d9; border-radius:13px; padding:31px 27px 27px; box-shadow:0 10px 32px rgba(61,45,34,.045); }
.es-review-stars { color:#bb9160; font-size:20px; letter-spacing:3px; margin-bottom:23px; }
.es-review blockquote { border:0; padding:0; margin:0 0 29px; color:#37312d; font:400 clamp(19px,2vw,23px)/1.48 "Playfair Display",Georgia,serif; min-height:100px; }
.es-review-by { font-weight:700; font-size:14px; color:#3a302b; margin-bottom:5px; }
.es-review-source { font-size:12px; color:#8d8279; }
.es-reviews-actions { margin-top:35px; display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
.es-reviews-actions a { text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:15px 25px; border-radius:5px; font-weight:600; font-size:13px; transition:background .2s,transform .2s; }
.es-reviews-actions a:hover { transform:translateY(-2px); }
.es-reviews-primary { background:#665346; color:#fff !important; }
.es-reviews-primary:hover { background:#4e3e34; }
.es-reviews-secondary { border:1px solid #a99786; color:#665346 !important; }
.es-reviews-secondary:hover { background:#f0e8e1; }
@media(max-width:760px){ .es-reviews { padding:60px 0 68px; } .es-reviews-grid { grid-template-columns:1fr; gap:14px; } .es-review { padding:23px; } .es-review blockquote { min-height:0; margin-bottom:23px; } .es-reviews-actions a { width:100%; max-width:360px; } }

/* Pět úplných recenzí v adaptivní mřížce */
.es-reviews-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.es-review { display:flex; flex-direction:column; }
.es-review blockquote { min-height:0; flex:1; margin-bottom:24px; font-size:clamp(17px,1.6vw,20px); }
@media(max-width:760px) { .es-reviews-grid { grid-template-columns:1fr; } }


/* RECENZE: vyvážené rozložení 3 + 2 bez prázdného místa */
@media (min-width: 1021px) {
  .es-reviews-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
  .es-reviews-grid > .es-review { grid-column:span 2; }
  .es-reviews-grid > .es-review:nth-child(4),
  .es-reviews-grid > .es-review:nth-child(5) { grid-column:span 3; }
}
@media (min-width: 761px) and (max-width:1020px) {
  .es-reviews-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; }
  .es-reviews-grid > .es-review { flex:0 1 calc(50% - 9px); min-width:0; }
}
@media (max-width:760px) {
  .es-reviews-grid { grid-template-columns:minmax(0,1fr); }
}
.es-review { position:relative; }
.es-review::before { content:'★★★★★'; display:block; margin-bottom:20px; color:#bb9160; letter-spacing:4px; font-size:18px; }
.es-review-by { padding-top:13px; border-top:1px solid #eee4dc; font-size:14px; letter-spacing:.01em; }
