/* ============================================================
   RECOMENDACIONES FIID — Frontend CSS v1.2.1
   ============================================================ */
.fiid-rec-wrap{--fiid-orange:#E86820;--fiid-orange-d:#c25618;--fiid-black:#111111;--fiid-cream:#F0EDE8;--fiid-white:#ffffff;--fiid-gray:#888888;--fiid-gray-light:#dddddd;--fiid-radius:10px;--fiid-font-disp:'Barlow Condensed',sans-serif;--fiid-font-body:'DM Sans',sans-serif;--fiid-map-ocean:#e8ecf0;--fiid-map-land:#c8c4bc;--fiid-trans:0.28s cubic-bezier(.4,0,.2,1);font-family:var(--fiid-font-body);color:var(--fiid-black);background:var(--fiid-cream);border-radius:var(--fiid-radius);overflow:hidden;position:relative;padding:48px 40px 60px;box-sizing:border-box}

.fiid-rec-header{text-align:center;margin-bottom:48px}
.fiid-rec-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--fiid-orange);margin:0 0 10px}
.fiid-rec-title{font-family:var(--fiid-font-disp);font-size:clamp(22px,5vw,72px);font-weight:800;line-height:.95;letter-spacing:-.02em;color:var(--fiid-black);text-transform:uppercase;margin:0 0 20px;word-break:break-word;overflow-wrap:break-word;hyphens:auto;padding:0 8px}
.fiid-rec-subtitle{font-size:15px;color:var(--fiid-gray);max-width:680px;margin:0 auto;line-height:1.75}

.fiid-step{animation:fiidFadeUp .38s var(--fiid-trans) both}
.fiid-hidden{display:none!important}
@keyframes fiidFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.fiid-map-container{position:relative;width:100%;max-width:900px;margin:0 auto 28px;border-radius:var(--fiid-radius);overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.1);background:var(--fiid-map-ocean)}
.fiid-world-map{width:100%;height:auto;display:block}
.fiid-map-land{fill:var(--fiid-map-land);stroke:rgba(255,255,255,.6);stroke-width:.5;transition:fill var(--fiid-trans)}
.fiid-map-land.fiid-has-data{fill:var(--fiid-orange);cursor:pointer;stroke:rgba(255,255,255,.9)}
.fiid-map-land.fiid-has-data:hover,.fiid-map-land.fiid-selected{fill:var(--fiid-orange-d)}

.fiid-map-markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}
.fiid-map-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:all;cursor:pointer}
.fiid-marker-dot{width:10px;height:10px;border-radius:50%;background:var(--fiid-orange);border:2px solid var(--fiid-white);box-shadow:0 0 0 4px rgba(232,104,32,.25);animation:fiidPulse 2.4s ease-in-out infinite;transition:transform .2s}
.fiid-map-marker:hover .fiid-marker-dot{transform:scale(1.4)}
@keyframes fiidPulse{0%,100%{box-shadow:0 0 0 4px rgba(232,104,32,.25)}50%{box-shadow:0 0 0 8px rgba(232,104,32,0)}}
.fiid-marker-label{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:8px;background:var(--fiid-black);color:var(--fiid-white);font-size:11px;font-weight:600;padding:4px 10px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.fiid-marker-label::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:var(--fiid-black)}
.fiid-map-marker:hover .fiid-marker-label{opacity:1}

.fiid-country-selector-wrap{max-width:480px;margin:0 auto;text-align:center}
.fiid-selector-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--fiid-gray);margin-bottom:10px}
.fiid-country-dropdown{width:100%;padding:12px 44px 12px 18px;border:2px solid var(--fiid-gray-light);border-radius:30px;font-family:var(--fiid-font-body);font-size:15px;font-weight:500;color:var(--fiid-black);background:var(--fiid-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center;cursor:pointer;transition:border-color var(--fiid-trans);appearance:none}
.fiid-country-dropdown:focus{outline:none;border-color:var(--fiid-orange);box-shadow:0 0 0 4px rgba(232,104,32,.12)}
.fiid-map-legend{display:flex;justify-content:center;gap:24px;margin-top:20px;font-size:12px;color:var(--fiid-gray)}

.fiid-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.fiid-back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:2px solid var(--fiid-gray-light);border-radius:30px;padding:8px 16px;font-family:var(--fiid-font-body);font-size:13px;font-weight:600;color:var(--fiid-black);cursor:pointer;transition:all var(--fiid-trans)}
.fiid-back-btn:hover{border-color:var(--fiid-orange);color:var(--fiid-orange)}
.fiid-breadcrumb-sep{color:var(--fiid-gray-light);font-size:18px}
.fiid-breadcrumb-current{font-family:var(--fiid-font-disp);font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.fiid-step-hint{text-align:center;font-size:14px;color:var(--fiid-gray);margin-bottom:20px}

.fiid-city-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.fiid-city-btn{display:flex;align-items:center;gap:8px;padding:14px 22px;background:var(--fiid-white);border:2px solid var(--fiid-gray-light);border-radius:30px;cursor:pointer;font-family:var(--fiid-font-body);font-size:15px;font-weight:600;color:var(--fiid-black);transition:all var(--fiid-trans)}
.fiid-city-btn:hover{border-color:var(--fiid-orange);color:var(--fiid-orange);transform:translateY(-2px);box-shadow:0 6px 18px rgba(232,104,32,.14)}
.fiid-city-btn-icon{font-size:20px}

.fiid-type-buttons{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:8px 0 16px}
.fiid-type-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 36px;background:var(--fiid-white);border:2px solid var(--fiid-gray-light);border-radius:var(--fiid-radius);cursor:pointer;transition:all var(--fiid-trans);min-width:150px;font-family:var(--fiid-font-body)}
.fiid-type-btn:hover{border-color:var(--fiid-orange);transform:translateY(-3px);box-shadow:0 8px 24px rgba(232,104,32,.15)}
.fiid-type-btn-icon{font-size:40px;line-height:1;display:flex;align-items:center;justify-content:center;min-height:44px}
/* Custom PNG/SVG icon in type button — white bg container */
.fiid-type-btn .fiid-type-icon-img{
    width:44px;height:44px;object-fit:contain;display:block;
}
.fiid-type-btn-label{font-family:var(--fiid-font-disp);font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--fiid-black)}
.fiid-type-btn-count{font-size:12px;font-weight:600;color:var(--fiid-white);background:var(--fiid-orange);padding:2px 10px;border-radius:20px}

.fiid-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fiid-card{position:relative;border-radius:var(--fiid-radius);overflow:hidden;cursor:pointer;background:var(--fiid-black);aspect-ratio:3/4;box-shadow:0 4px 16px rgba(0,0,0,.12);transition:transform var(--fiid-trans),box-shadow var(--fiid-trans)}
.fiid-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.2)}
.fiid-card-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.fiid-card:hover .fiid-card-image{transform:scale(1.06)}
.fiid-card-no-image{width:100%;height:100%;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);display:flex;align-items:center;justify-content:center;font-size:48px}
.fiid-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,17,17,.9) 0%,rgba(17,17,17,.4) 50%,transparent 100%)}
.fiid-card-content{position:absolute;bottom:0;left:0;right:0;padding:20px}
.fiid-card-type{display:inline-flex;align-items:center;gap:4px;background:var(--fiid-orange);color:var(--fiid-white);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:20px;margin-bottom:8px}
/* Small custom icon inside the type badge on cards */
.fiid-card-custom-icon{width:14px;height:14px;object-fit:contain;vertical-align:middle;filter:brightness(0) invert(1)}
.fiid-card-name{font-family:var(--fiid-font-disp);font-size:22px;font-weight:800;color:var(--fiid-white);line-height:1.1;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 6px}
.fiid-card-location{font-size:12px;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:4px}
.fiid-card-desc{font-size:12px;color:rgba(255,255,255,.8);margin-top:8px;line-height:1.5;max-height:0;overflow:hidden;transition:max-height var(--fiid-trans)}
.fiid-card:hover .fiid-card-desc{max-height:60px}
.fiid-card-logo{position:absolute;top:14px;right:14px;width:44px;height:44px;object-fit:contain;background:rgba(255,255,255,.92);border-radius:8px;padding:4px;box-shadow:0 2px 8px rgba(0,0,0,.15)}

.fiid-no-results{text-align:center;padding:48px;color:var(--fiid-gray);font-size:15px}
.fiid-no-results-icon{font-size:40px;margin-bottom:12px}

.fiid-modal-overlay{position:fixed;inset:0;background:rgba(17,17,17,.75);backdrop-filter:blur(6px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fiidFadeIn .22s ease both}
@keyframes fiidFadeIn{from{opacity:0}to{opacity:1}}
.fiid-modal{background:var(--fiid-white);border-radius:16px;max-width:820px;width:100%;max-height:90vh;overflow-y:auto;position:relative;display:grid;grid-template-columns:1fr 1fr;animation:fiidSlideUp .32s cubic-bezier(.34,1.56,.64,1) both;box-shadow:0 32px 80px rgba(0,0,0,.35)}
@keyframes fiidSlideUp{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.fiid-modal-close{position:absolute;top:14px;right:14px;z-index:2;background:rgba(255,255,255,.9);backdrop-filter:blur(4px);border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--fiid-trans),transform var(--fiid-trans);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.fiid-modal-close:hover{background:var(--fiid-orange);transform:rotate(90deg)}
.fiid-modal-close:hover svg path{stroke:white}
.fiid-modal-image-wrap{position:relative;display:flex;flex-direction:column;min-height:320px;background:var(--fiid-black);border-radius:16px 0 0 16px;overflow:hidden}
.fiid-modal-gallery{position:relative;flex:1;min-height:280px}
.fiid-modal-image{width:100%;height:100%;object-fit:cover;display:block;min-height:280px}
.fiid-modal-image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(17,17,17,.5))}
.fiid-modal-thumbs{display:none;gap:6px;padding:8px;background:rgba(17,17,17,.85);flex-wrap:wrap;justify-content:center}
.fiid-modal-thumb{width:56px;height:42px;border:2px solid transparent;border-radius:4px;overflow:hidden;cursor:pointer;padding:0;background:none;transition:border-color var(--fiid-trans);flex-shrink:0}
.fiid-modal-thumb.active{border-color:var(--fiid-orange)}
.fiid-modal-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fiid-modal-logo-wrap{position:absolute;bottom:56px;left:16px;z-index:3}
.fiid-modal-logo{width:56px;height:56px;object-fit:contain;background:rgba(255,255,255,.95);border-radius:10px;padding:6px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.fiid-modal-type-badge{position:absolute;top:20px;left:20px;background:var(--fiid-orange);color:var(--fiid-white);font-family:var(--fiid-font-body);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5px 14px;border-radius:20px}
.fiid-modal-content{padding:36px 32px 24px;display:flex;flex-direction:column}
.fiid-modal-meta{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--fiid-orange);margin-bottom:10px}
.fiid-modal-name{font-family:var(--fiid-font-disp);font-size:clamp(24px,3vw,40px);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1;color:var(--fiid-black);margin:0 0 10px}
.fiid-modal-location{font-size:13px;color:var(--fiid-gray);margin:0 0 16px;line-height:1.5}
.fiid-modal-description{font-size:14px;color:#444;line-height:1.7;margin:0 0 20px;flex:1}
.fiid-modal-socials{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.fiid-social-link{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1.5px solid var(--fiid-gray-light);border-radius:20px;text-decoration:none!important;font-size:12px;font-weight:600;color:var(--fiid-black)!important;transition:all var(--fiid-trans)}
.fiid-social-link:hover{border-color:var(--fiid-orange);color:var(--fiid-orange)!important}
.fiid-modal-map{border-radius:var(--fiid-radius);overflow:hidden}
.fiid-modal-map iframe{width:100%;height:160px;border:none;display:block}
.fiid-gmaps-open-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px 16px;margin-top:10px;background:var(--fiid-black);color:var(--fiid-white)!important;text-decoration:none!important;font-family:var(--fiid-font-body);font-size:13px;font-weight:600;border-radius:8px;transition:background var(--fiid-trans)}
.fiid-gmaps-open-btn:hover{background:var(--fiid-orange)}
.fiid-modal-nav{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid var(--fiid-gray-light)}
.fiid-modal-nav-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;font-family:var(--fiid-font-body);font-size:13px;font-weight:600;color:var(--fiid-black);cursor:pointer;padding:8px 12px;border-radius:8px;transition:background var(--fiid-trans),color var(--fiid-trans)}
.fiid-modal-nav-btn:hover{background:var(--fiid-cream);color:var(--fiid-orange)}
.fiid-modal-nav-btn:disabled{opacity:.3;cursor:default}
.fiid-modal-nav-counter{font-size:12px;color:var(--fiid-gray);font-weight:600}

@media(max-width:960px){.fiid-rec-wrap{padding:32px 24px 48px}.fiid-cards-grid{grid-template-columns:repeat(2,1fr)}.fiid-modal{grid-template-columns:1fr}.fiid-modal-image-wrap{min-height:240px;border-radius:16px 16px 0 0}.fiid-modal-image{min-height:240px}}
@media(max-width:640px){.fiid-rec-wrap{padding:28px 16px 40px}.fiid-cards-grid{grid-template-columns:1fr}.fiid-type-buttons{flex-direction:column;align-items:stretch}.fiid-type-btn{flex-direction:row;padding:18px 24px;min-width:auto}.fiid-type-btn-icon{min-height:auto}.fiid-modal-content{padding:24px 20px 16px}.fiid-city-btn{padding:11px 16px;font-size:14px}}
@media(max-width:420px){.fiid-rec-wrap{padding:20px 12px 36px}.fiid-rec-title{font-size:clamp(20px,8vw,36px)}}

/* ── v1.2.2 CARD CORNER BADGES ──────────────────────────────────────────── */

/* Remove old logo absolute positioning */
.fiid-card-logo { display: none; }  /* superseded by .fiid-card-corner */

/* Corner container — top right, holds icon badge + logo badge side by side */
.fiid-card-corner {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  gap: 6px;
  align-items: flex-start;
  z-index: 3;
}

/* Small type icon badge (36×36) */
.fiid-card-icon-badge {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.95);
  border-radius: 8px;
  padding: 5px;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fiid-card-icon-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Logo badge (44×44) — same size as before but now inside flex container */
.fiid-card-logo-badge {
  width: 44px;
  height: 44px;
  background: rgba(255,255,255,0.95);
  border-radius: 8px;
  padding: 4px;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fiid-card-logo-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* No-image placeholder: emoji stays small, centred on dark bg */
.fiid-card-no-image {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg,#2a2a2a,#1a1a1a);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fiid-card-no-image-emoji {
  font-size: 40px;
  line-height: 1;
}
