/* Gulf Luxe components: buttons, cards, header, footer, itinerary timeline. */

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:.8em 1.4em;border-radius:var(--r-btn);font-weight:600;border:0;cursor:pointer;transition:transform var(--dur-1) var(--ease-out-expo),box-shadow var(--dur-1),background var(--dur-1)}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.btn-primary{background:var(--c-primary);color:#fff}
.btn-primary:hover{background:var(--c-primary-dark);color:#fff}
.btn-wa{background:var(--c-whatsapp);color:#fff;border-radius:var(--r-pill)}
.btn-wa:hover{color:#fff}
.btn-ghost{background:transparent;border:1px solid var(--c-line);color:var(--c-ink)}

/* Card */
.card{background:var(--c-surface);border-radius:var(--r-card);box-shadow:var(--shadow-1);overflow:hidden;transition:transform var(--dur-2) var(--ease-out-expo),box-shadow var(--dur-2)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.card__media{display:block;aspect-ratio:4/3;overflow:hidden}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-3) var(--ease-out-expo)}
.card:hover .card__media img{transform:scale(1.06)}
.card__body{padding:var(--s-4)}
.card__meta{color:var(--c-muted);font-size:var(--fs-sm);display:flex;gap:var(--s-3);flex-wrap:wrap}
.card__price{color:var(--c-primary);font-weight:600;margin-top:var(--s-2)}

/* Sticky header */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--c-surface) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--c-line);transition:box-shadow var(--dur-2)}
.site-header.is-stuck{box-shadow:var(--shadow-1)}

/* Itinerary timeline (RTL-aware via logical properties) */
.timeline{position:relative;padding-inline-start:var(--s-6);margin:0;list-style:none}
.timeline::before{content:"";position:absolute;inset-block:0;inset-inline-start:7px;width:2px;background:var(--c-line)}
.timeline__item{position:relative;padding-block:var(--s-4)}
.timeline__item::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:1.5rem;width:16px;height:16px;border-radius:50%;background:var(--c-accent);box-shadow:0 0 0 4px var(--c-base)}
.timeline__day{font-weight:600;color:var(--c-ink)}

/* Footer */
.site-footer{background:var(--c-primary-dark);color:#fff;padding-block:var(--s-12)}
.site-footer a{color:rgba(255,255,255,.85)}
.site-footer a:hover{color:#fff}

/* Inclusions / exclusions list */
.io-list{list-style:none;padding:0;margin:0}
.io-list li{padding-inline-start:1.6em;position:relative;margin-block:var(--s-2)}
.io-list.is-inc li::before{content:"✓";position:absolute;inset-inline-start:0;color:var(--c-primary)}
.io-list.is-exc li::before{content:"✕";position:absolute;inset-inline-start:0;color:#b4533e}
