/* FleetLeaks Shared Styles - Used across multiple templates */

/* === Layout Grid === */
.fl-v-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:1.5rem;align-items:start}
@media (max-width:900px){.fl-v-grid{grid-template-columns:1fr}}

/* === Section Headers === */
.fl-sub{margin:1.5rem 0 .75rem}
.fl-sub-first{margin-top:0}

/* === Info Grid & Cards === */
.fl-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:2rem}
.fl-info-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:.6rem;padding:.75rem;display:flex;flex-direction:column;gap:.25rem}
.fl-info-item.fl-info-primary{background:#eef2ff;border-color:#c7d2fe}
.fl-info-label{font-size:.75rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.fl-info-value{font-size:1.05rem;color:#111827;font-weight:600}

/* === Vessel Header === */
.fl-vessel{max-width:min(1100px,92vw);margin:1.25rem auto 2.25rem}
.fl-vessel-header{margin:0 0 1.5rem;text-align:center}
.fl-vessel-imo{font-size:clamp(1.1rem,2vw,3.5rem);font-weight:bold;letter-spacing:.15em;text-transform:uppercase;color:#4b5563;margin-bottom:var(--wp--preset--spacing--60);font-family:var(--wp--preset--font-family--rajdhani);font-style:normal;margin-top:0}
@media (max-width:600px){.fl-vessel-imo{letter-spacing:.1em}}

/* === Stats Cards === */
.fl-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;transition:box-shadow .2s}
.fl-stat-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}
.fl-stat-label{font-size:.75rem;color:#ffffff;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}
.fl-stat-number{font-size:2rem;font-weight:700;color:#ffffff;line-height:1;margin-bottom:.25rem}

.fl-stat-value{font-size:1.25rem;font-weight:700;color:#111827}
.fl-stat-icon{font-size:2rem;line-height:1;opacity:.8}
.fl-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}
.fl-stats-summary .fl-stat-card, .fl-stats-summary .fl-stat-card .fl-stat-number,  .fl-stats-summary .fl-stat-card .fl-stat-label,  .fl-stats-summary .fl-stat-card .fl-stat-value, .fl-stat-big .fl-stat-label, .fl-stat-big .fl-stat-number {color: white;}  
/* === Chips & Badges === */
.fl-chip{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #e5e7eb;border-radius:999px;padding:.35rem .7rem;background:#f8fafc;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap}
.fl-chip:hover{background:#eef2ff;border-color:#c7d2fe}
.fl-chip.mini{padding:.15rem .45rem;font-size:.8rem}
.fl-badge{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #e5e7eb;border-radius:.5rem;padding:.25rem .6rem;background:#f8fafc;font-weight:600;font-size:.875rem}
.fl-badge-total{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5}
.fl-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}

/* === Status Badges === */
.fl-status-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600}
.fl-status-badge.active {background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0;}
.fl-status-badge.inactive {background: #fef3c7; color: #92400e; border: 1px solid #e7ca9f;}
.fl-status-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f3f4f6}
.fl-status-row:last-child{border-bottom:none}

/* === Filter Groups === */
.fl-filter-group{margin-bottom:1.5rem}
.fl-filter-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.9rem}
.fl-filter-group select,.fl-filter-group input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.95rem}
.fl-filter-group select:focus,.fl-filter-group input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}

/* === Sidebar === */
.fl-sidebar-title{font-size:1.1rem;font-weight:700;color:#111827;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}
.fl-sidebar-map{width:100%;height:400px;border-radius:.75rem;overflow:hidden;border:1px solid #e5e7eb;margin-bottom:1.5rem}

/* === Progress & Loading === */
.fl-prog{white-space:pre-wrap;margin-bottom:.75rem}
.fl-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:fl-spin 1s linear infinite}
@keyframes fl-spin{to{transform:rotate(360deg)}}

/* === Sources & Metadata === */
.fl-srcs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.fl-src{display:inline-block;padding:.2rem .5rem;background:#f3f4f6;border-radius:.35rem;font-size:.8rem;color:#6b7280}

/* === Buttons === */
.fl-btn{padding:.75rem 1.25rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid #d1d5db;background:#fff;color:#111827;font-size:.95rem}
.fl-btn:hover{background:#f9fafb;border-color:#9ca3af}
.fl-btn-reset{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280}
.fl-btn-reset:hover{background:#e5e7eb}

/* === Typography Utilities === */
.fl-mute{color:#6b7280}
.fl-date{color:#9ca3af;font-size:.875rem}

/* === History Lightbox Shared Styles === */
.fl-history-lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);z-index:9999;display:none;align-items:center;justify-content:center;padding:1rem}
.fl-history-lightbox.active{display:flex}
.fl-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}
.fl-history-title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}
.fl-history-close{background:none;border:none;font-size:1.75rem;color:#6b7280;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s}
.fl-history-close:hover{color:#111827}
.fl-no-history{text-align:center;padding:3rem 1rem;color:#9ca3af;font-style:italic}
.fl-loading{text-align:center;padding:2rem;color:#6b7280}

/* === WordPress Admin Shared Styles === */
.wrap{max-width:1200px}
.form-table th{width:200px;padding:15px 10px 15px 0}
.form-table td{padding:15px 10px}
.description{color:#666;font-style:italic;margin-top:5px}

/* === Common Table Styles === */
.widefat{width:100%;border-spacing:0}
.widefat th{background:#f6f7f7;padding:8px 10px;text-align:left;font-weight:600}
.widefat td{padding:8px 10px;border-top:1px solid #ddd}
.striped tbody tr:nth-child(odd){background:#f9f9f9}

/* === Button Utilities === */
.button{display:inline-block;padding:6px 12px;border:1px solid #0073aa;border-radius:3px;background:#0085ba;color:#fff;text-decoration:none;cursor:pointer;transition:all .2s}
.button:hover{background:#0073aa;border-color:#006799}
.button-primary{background:#0085ba;border-color:#0073aa}
.button-secondary{background:#f7f7f7;border-color:#ccc;color:#555}
.button-secondary:hover{background:#fafafa;border-color:#999}
.button-small{padding:4px 8px;font-size:12px}

/* === Notice Styles === */
.notice{background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:15px 0;padding:12px}
.notice-info{border-left-color:#00a0d2}
.is-dismissible{padding-right:38px;position:relative}

/* === Archive Shared Styles === */
.fl-accordion{border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:1rem;overflow:hidden; padding: 1.5rem;}
.fl-archive-timeline{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}
.fl-warn{background:#fef3c7;border:1px solid #fbbf24;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem;color:#92400e}
.prose{max-width:65ch;line-height:1.75}
.updated{background:#d1fae5;border-left:4px solid #10b981;padding:12px;margin:20px 0}

/* === Section Titles === */
.fl-section-title{font-size:1.25rem;font-weight:700;color:#111827;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}

/* === Home/UI Specific Shared === */
.fl-name{font-weight:600;color:#111827}
.fl-imo{font-family:monospace;color:#6b7280;font-size:.9rem}
.fl-flag{font-size:1.1rem;margin-right:.25rem}
.fl-type{display:inline-block;padding:.15rem .5rem;background:#f3f4f6;border-radius:.35rem;font-size:.8rem;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}
.fl-thumb{width:48px;height:48px;object-fit:cover;border-radius:.35rem;border:1px solid #e5e7eb; display: flex; justify-content: center; align-items: center;}
.fl-empty{text-align:center;padding:3rem 1rem;color:#9ca3af;font-style:italic}

/* === Filters UI === */
.fl-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}

/* === Hero Search (shared across home & archive) === */
.fl-hero{padding:clamp(48px,6vw,80px) 0 clamp(32px,3.5vw,48px);text-align:center}
.fl-hero-eyebrow{margin:0 0 1.25rem;color:#6b7280;font-size:clamp(.95rem,.5vw + .85rem,1.05rem);line-height:1.6}
.fl-hero-eyebrow strong{color:#111827;font-weight:700}
.fl-hero-title{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.1;margin:0 0 1rem;background:linear-gradient(135deg,#1e293b 0%,#475569 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.fl-hero-subtitle{font-size:clamp(1.125rem,2vw,1.375rem);color:#475569;max-width:680px;margin:0 auto 2.5rem;line-height:1.6}
.fl-hero-inner{max-width:min(880px,92vw);margin:0 auto}
.fl-hero-form{display:flex;gap:.6rem;justify-content:center;margin-bottom:0}
.fl-search-wrapper{position:relative;flex:1 1 600px;min-width:260px}
.fl-hero-form input[type="search"]{width:100%;font-size:clamp(1rem,.6vw + .95rem,1.125rem);padding:.95rem 1rem;border:1px solid #e5e7eb;border-radius:.8rem;background:#fff;outline:none;box-shadow:0 1px 2px rgba(0,0,0,.04) inset}
.fl-hero-form input[type="search"]:focus{border-color:#c7d2fe;box-shadow:0 0 0 4px rgba(99,102,241,.15)}
.fl-hero-btn{padding:.95rem 1.4rem;border-radius:.8rem;background:#0f172a;color:#fff;border:0;cursor:pointer;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.1);transition:transform .06s ease,box-shadow .12s ease}
.fl-hero-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.14)}
.fl-search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 .8rem .8rem;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:1000;max-height:300px;overflow-y:auto;margin-top:-1px}
.fl-search-item{padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;cursor:pointer;display:block;text-decoration:none;color:inherit}
.fl-search-item:hover{background:#f8fafc}
.fl-search-item:last-child{border-bottom:none}
.fl-search-title{font-weight:600;margin-bottom:.25rem}
.fl-search-meta{font-size:.875rem;color:#6b7280}
.fl-search-imo,.fl-search-mmsi{display:inline-block;margin-right:.5rem}
.fl-search-sanctioners{display:inline-flex;gap:.25rem;flex-wrap:wrap}
.fl-hero-hints{margin:.85rem 0 .75rem;display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.fl-hero-hints-label{color:#6b7280;margin-right:.25rem}
.fl-hero-actions{margin:2rem auto 1.2rem;display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
.fl-btn--primary{background:#111827;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.fl-btn--primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.14)}
.fl-btn--ghost{background:#ffffff;color:#111827;border-color:#e5e7eb}
.fl-btn--ghost:hover{background:#f8fafc;border-color:#d1d5db;color:#000;transform:translateY(-1px)}
.fl-map-pill{background:rgba(15,23,42,0.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,0.8);border-radius:999px;color:#fff !important}
.fl-map-pill:hover{background:rgba(15,23,42,0.9);border-color:rgba(255,255,255,1)}
@media (max-width:640px){
  .fl-hero{padding:clamp(36px,4.5vw,48px) 0 clamp(28px,3vw,36px)}
  .fl-hero-form{flex-direction:column;align-items:stretch}
  .fl-search-wrapper{min-width:100%}
  .fl-hero-btn{width:100%;padding:1.1rem}
  .fl-hero-hints{justify-content:flex-start}
}
.d-none {
    display: none;
    
}
/* Global box-sizing for all FleetLeaks components */
.fl-vessels-archive *,
.fl-timeline *,
.fl-tl-item *,
.fl-hero * {box-sizing:border-box}

/* Ensure full width usage */
.fl-vessels-archive,
.fl-timeline,
.fl-archive-timeline {width:100%;max-width:100%}
/* === Global Link Styles === */
a, 
.fl-vessel a,
.fl-sidebar-card a,
.fl-info-grid a,
.fl-stat-card a,
.fl-accordion a {
  color: #4f46e5;
  text-decoration: none;
  font-weight: 600;
}

a:hover,
.fl-vessel a:hover,
.fl-sidebar-card a:hover,
.fl-info-grid a:hover,
.fl-stat-card a:hover,
.fl-accordion a:hover {
  text-decoration: underline;
}
