/* Estils del shortcode de llistat (abans dins la pàgina, ara al <head>) */
:root{
    --g-cream:#FDFAF6;--g-cream2:#F5F0E8;--g-cream3:#EDE6D8;--g-white:#FFFFFF;
    --g-red:#FF4D4E; --g-red-ink: #D13A3B;--g-red-dark:#B53233;--g-red-soft:rgba(255,77,78,0.08);
    --g-green:#2ECC71;--g-green-dk:#27AE60;--g-green-soft:rgba(46,204,113,0.09);
    --g-amber:#F5C842;--g-amber-soft:rgba(245,200,66,0.12);
    --g-blue:#5B8DEE;--g-blue-soft:rgba(91,141,238,0.09);
    --g-text:#2C2420;--g-text-2:#6B5E57;--g-text-3:#766C64;
    --g-border:rgba(44,36,32,0.09);
    --g-shadow:0 2px 12px rgba(44,36,32,0.06);
    --g-shadow-md:0 4px 20px rgba(44,36,32,0.1);
    --g-font:'Nunito',sans-serif;--g-font-d:'Oswald',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
body{background:var(--g-cream);font-family:var(--g-font);color:var(--g-text);}
@media(max-width:768px){body{margin-bottom:90px;}}

.glm-wrap{max-width:800px;margin:0 auto;padding:20px 16px 110px;}

/* ── BANNER ── */
.glm-banner{
    background:linear-gradient(135deg,#2C2420 0%,#3E2E28 50%,#2C2420 100%);
    border-radius:24px;padding:28px 24px 22px;margin-bottom:18px;
    color:white;position:relative;overflow:hidden;
}
.glm-banner::after{
    content:'⛰️';position:absolute;right:-12px;bottom:-18px;
    font-size:110px;opacity:0.07;line-height:1;pointer-events:none;
}
.glm-banner-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;}
@media(max-width:480px) {
    .glm-banner-top { flex-direction: column; }
}
.glm-banner-heading{flex:1;}
.glm-banner-title{font-family:var(--g-font-d);font-size:1.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin:0 0 3px;line-height:1;}
.glm-banner-sub{font-size:0.82rem;opacity:0.55;font-weight:600;}
.glm-add-btn{
    display:inline-flex;align-items:center;gap:6px;flex-shrink:0;
    padding:10px 18px;background:var(--g-red-ink);color:white;border:none;
    border-radius:50px;font-family:var(--g-font);font-weight:800;font-size:0.82rem;
    cursor:pointer;transition:all 0.2s;text-decoration:none;
    box-shadow:0 3px 12px rgba(255,77,78,0.35);
}
.glm-add-btn:hover{background:var(--g-red-dark);transform:translateY(-1px);}

/* Progress */
.glm-prog-row{display:flex;justify-content:space-between;margin-bottom:7px;}
.glm-prog-left{font-size:0.8rem;font-weight:700;opacity:0.75;}
.glm-prog-pct{font-family:var(--g-font-d);font-size:0.95rem;font-weight:700;color:var(--g-amber);}
.glm-prog-track{height:8px;background:rgba(255,255,255,0.12);border-radius:4px;overflow:hidden;}
.glm-prog-fill{height:100%;background:linear-gradient(90deg,#FF4D4E,#FF9A3C);border-radius:4px;transition:width 1.2s cubic-bezier(0.34,1.2,0.64,1);}

/* ── VIEW TABS ── */
.glm-tabs{
    display:flex;gap:6px;margin-bottom:14px;
    background:var(--g-white);border:1px solid var(--g-border);
    border-radius:50px;padding:4px;box-shadow:var(--g-shadow);
    /* Mobile scroll fix */
    overflow-x:auto; 
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
}
.glm-tabs::-webkit-scrollbar { display: none; } /* Chrome/Safari */

.glm-tab{
    flex:1;padding:9px 10px;border:none;background:none;
    border-radius:50px;font-family:var(--g-font);font-weight:800;
    font-size:0.78rem;letter-spacing:0.04em;text-transform:uppercase;
    color:var(--g-text-3);cursor:pointer;transition:all 0.2s;
    white-space:nowrap;text-align:center;
}
.glm-tab:hover{color:var(--g-text-2);background:var(--g-cream2);}
.glm-tab.active-all  {background:var(--g-text);color:white;}
.glm-tab.active-done {background:var(--g-green);color:white;box-shadow:0 2px 8px rgba(46,204,113,0.35);}
.glm-tab.active-wish {background:var(--g-amber);color:#2C2420;box-shadow:0 2px 8px rgba(245,200,66,0.35);}

/* ── SEARCH + FILTER ROW ── */
.glm-controls{
    display:flex;gap:8px;align-items:center;margin-bottom:12px;
    flex-wrap: wrap; /* Let them wrap on small screens */
}
.glm-search{
    flex:1;min-width:0;padding:11px 16px;
    border:1.5px solid var(--g-border);border-radius:50px;
    font-family:var(--g-font);font-size:16px; /* 16px prevents iOS auto-zoom */
    color:var(--g-text);
    background:var(--g-white);
    box-shadow:var(--g-shadow);outline:none;transition:border-color 0.2s;
}
.glm-search:focus{border-color:var(--g-red);}
.glm-search::placeholder{color:var(--g-text-3);}
.glm-filter-btn{
    display:flex;align-items:center;justify-content:center;gap:6px;
    padding:11px 18px;border-radius:50px;
    border:1.5px solid var(--g-border);background:var(--g-white);
    font-family:var(--g-font);font-weight:800;font-size:0.8rem;
    color:var(--g-text-2);cursor:pointer;transition:all 0.2s;
    box-shadow:var(--g-shadow);white-space:nowrap;
}
.glm-filter-btn:hover{background:var(--g-cream2);}
.glm-filter-btn.has-filters{background:var(--g-red-ink);color:white;border-color:var(--g-red);}

/* Mobile specifics for Controls */
@media(max-width: 600px) {
    .glm-search { flex: 1 1 100%; } /* Search takes full width */
    .glm-sort-sel { flex: 1; max-width: none !important; } /* Buttons split the second row */
    .glm-filter-btn { flex: 1; }
}

/* Active filter chips */
.glm-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.glm-chip{
    display:inline-flex;align-items:center;gap:5px;
    padding:5px 12px;background:var(--g-red-soft);
    border:1.5px solid rgba(255,77,78,0.2);border-radius:50px;
    font-size:0.75rem;font-weight:800;color:var(--g-red-ink);
}
.glm-chip a{color:var(--g-red-ink);text-decoration:none;margin-left:2px;}

/* Results info */
.glm-info-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 2px;}
.glm-info-text{font-size:0.8rem;font-weight:700;color:var(--g-text-3);}
.glm-info-text strong{color:var(--g-text);}

/* ── GRID ── */
.glm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
/* Dues columnes sempre en pantalles inferiors a 768px (mòbils i tauletes) */
@media(max-width:768px){.glm-grid{grid-template-columns:repeat(2,1fr);gap:8px;}}

/* ── CARD ── */
.glm-card{
    position:relative;
    background:var(--g-white);
    border:1.5px solid var(--g-border);
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--g-shadow);
    transition:box-shadow 0.22s,transform 0.22s;
    display:flex;flex-direction:column;
}
.glm-card:hover{transform:translateY(-3px);box-shadow:var(--g-shadow-md);}

/* State colours */
.glm-card.done{
    background:var(--g-green-soft);
    border-color:rgba(46,204,113,0.22);
}
.glm-card.wish{
    background:var(--g-amber-soft);
    border-color:rgba(245,200,66,0.3);
}

/* Top colour bar by altitude */
.glm-card::before{
    content:'';display:block;height:4px;width:100%;flex-shrink:0;
}
.glm-card.done::before    {background:linear-gradient(90deg,#2ECC71,#27AE60);}
.glm-card.wish::before    {background:linear-gradient(90deg,#F5C842,#FF9A3C);}
.glm-card:not(.done):not(.wish)::before{background:var(--g-cream3);}

/* Card link area */
.glm-card-link{
    display:flex;flex-direction:column;
    padding:14px 14px 10px;
    text-decoration:none;color:inherit;flex:1;
}

/* ── NAME ── */
.glm-card-name{
    font-family:var(--g-font);
    font-weight:800;
    font-size:1.0rem;
    color:var(--g-text);
    line-height:1.25;
    margin-bottom:8px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.glm-card.done .glm-card-name{color:var(--g-green-dk);}
.glm-card.wish .glm-card-name{color:#9A6E00;}

/* ── ALTITUDE ── */
.glm-alt{
    display:flex;align-items:baseline;gap:3px;margin-bottom:6px;
}
.glm-alt-num{
    font-family:var(--g-font-d);
    font-size:1.6rem;
    font-weight:700;
    line-height:1;
    color:var(--g-text);
}
.glm-card.done .glm-alt-num{color:var(--g-green-dk);}
.glm-card.wish .glm-alt-num{color:#9A6E00;}
.glm-alt-m{
    font-family:var(--g-font);
    font-size:0.72rem;
    font-weight:800;
    letter-spacing:0.05em;
    color:var(--g-text-3);
    text-transform:uppercase;
}
.glm-alt-none{font-family:var(--g-font-d);font-size:1.3rem;color:var(--g-text-3);}

.glm-card-comarca{
    font-size:0.7rem;font-weight:700;color:var(--g-text-3);
    margin-top:auto;padding-top:4px;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Done checkmark badge */
.glm-done-badge{
    position:absolute;top:12px;right:12px;
    width:22px;height:22px;border-radius:50%;
    background:var(--g-green);color:white;
    font-size:0.7rem;font-weight:900;
    display:flex;align-items:center;justify-content:center;
    z-index:2;box-shadow:0 1px 6px rgba(46,204,113,0.4);
}

/* ── WISHLIST BUTTON ── */
.glm-wish-btn{
    display:flex;align-items:center;justify-content:center;gap:5px;
    width:calc(100% - 28px);margin:0 14px 12px;
    padding:8px 10px;
    background:none;
    border:1.5px solid var(--g-border);
    border-radius:10px;
    font-family:var(--g-font);font-weight:800;font-size:0.72rem;
    color:var(--g-text-3);cursor:pointer;
    transition:all 0.22s;letter-spacing:0.03em;
}
.glm-wish-btn:hover{
    background:var(--g-amber-soft);
    border-color:rgba(245,200,66,0.4);
    color:#9A6E00;
}
.glm-wish-btn.active{
    background:var(--g-amber-soft);
    border-color:rgba(245,200,66,0.5);
    color:#9A6E00;
}

/* ── LOAD MORE ── */
.glm-load-more{
    display:block;width:100%;margin-top:16px;
    padding:14px;background:var(--g-white);
    border:1.5px solid var(--g-border);border-radius:16px;
    font-family:var(--g-font);font-weight:800;font-size:0.9rem;
    color:var(--g-text-2);cursor:pointer;transition:all 0.2s;
    box-shadow:var(--g-shadow);
}
.glm-load-more:hover{background:var(--g-cream2);}
.glm-load-more:disabled{opacity:0.4;cursor:not-allowed;}

.glm-spinner{text-align:center;padding:20px;display:none;}
.glm-spinner::after{
    content:'';display:inline-block;width:28px;height:28px;
    border:3px solid var(--g-cream3);border-top-color:var(--g-red);
    border-radius:50%;animation:glm-spin 0.7s linear infinite;
}
@keyframes glm-spin{to{transform:rotate(360deg);}}

/* Empty */
.glm-empty{
    text-align:center;padding:60px 24px;
    background:var(--g-white);border-radius:20px;
    border:1px solid var(--g-border);
}
.glm-empty-icon{font-size:3.5rem;margin-bottom:14px;}
.glm-empty h3{font-family:var(--g-font-d);font-size:1.4rem;text-transform:uppercase;color:var(--g-text);margin:0 0 8px;}
.glm-empty p{font-size:0.88rem;color:var(--g-text-2);font-weight:600;margin:0;}

/* ── FILTER MODAL ── */
.glm-overlay{
    display:none;position:fixed;inset:0;
    background:rgba(44,36,32,0.5);backdrop-filter:blur(3px);
    z-index:1000;align-items:flex-end;justify-content:center;
}
.glm-overlay.open{display:flex;}
.glm-modal{
    background:var(--g-white);border-radius:24px 24px 0 0;
    width:100%;max-width:520px;
    box-shadow:0 -8px 40px rgba(44,36,32,0.15);
    animation:glm-up 0.28s cubic-bezier(0.34,1.2,0.64,1);
}
@keyframes glm-up{from{transform:translateY(100%);}to{transform:translateY(0);}}
.glm-modal-handle{width:40px;height:4px;background:var(--g-cream3);border-radius:2px;margin:12px auto 0;}
.glm-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--g-border);}
.glm-modal-head h3{font-family:var(--g-font-d);font-size:1.1rem;text-transform:uppercase;letter-spacing:0.06em;margin:0;color:var(--g-text);}
.glm-modal-x{background:var(--g-cream2);border:none;border-radius:8px;padding:6px 12px;font-weight:800;font-size:0.82rem;cursor:pointer;color:var(--g-text-2);}
.glm-modal-x:hover{background:var(--g-cream3);}
.glm-modal-body{padding:16px 20px 28px;}
.glm-modal-field{margin-bottom:14px;}
.glm-modal-field label{display:block;font-size:0.72rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--g-text-3);margin-bottom:6px;}
.glm-modal-field select{
    width:100%;padding:11px 14px;border:1.5px solid var(--g-border);
    border-radius:12px;font-family:var(--g-font);
    font-size:16px; /* 16px prevents iOS auto-zoom */
    color:var(--g-text);background:var(--g-cream);outline:none;appearance:none;
}
.glm-modal-field select:focus{border-color:var(--g-red);}
.glm-modal-btns{display:flex;gap:8px;margin-top:16px;}
.glm-modal-btns button{flex:1;padding:13px;border:none;border-radius:14px;font-family:var(--g-font);font-weight:800;font-size:0.9rem;cursor:pointer;transition:all 0.2s;}
.glm-apply{background:var(--g-red-ink);color:white;}
.glm-apply:hover{background:var(--g-red-dark);}
.glm-clear{background:var(--g-cream2);color:var(--g-text-2);border:1.5px solid var(--g-border) !important;}
.glm-clear:hover{background:var(--g-cream3);}

/* Sort selector */
.glm-sort-sel{
    padding:9px 10px;border:1.5px solid var(--g-border);border-radius:50px;
    font-family:var(--g-font);font-weight:700;
    font-size:16px; /* 16px prevents iOS auto-zoom */
    color:var(--g-text-3);background:var(--g-white);cursor:pointer;
    outline:none;appearance:none;box-shadow:var(--g-shadow);
    transition:border-color 0.2s;flex-shrink:0;
    max-width:130px;
}
.glm-sort-sel:focus{border-color:var(--g-red);}

/* Sense subratllats dins les targetes (el tema o Elementor els afegien als enllaços) */
.glm-card a, .glm-card a *, .glm-banner a, .glm-card-link, .glm-card-link * { text-decoration: none !important; }
.glm-card-dist { margin-top: 4px; font-size: 0.72rem; font-weight: 800; color: var(--g-red-ink); }
.glm-load-more[hidden], .glm-empty[hidden] { display: none !important; }
.glm-search::-webkit-search-cancel-button { cursor: pointer; }
