/* ============================================================
   ScottsCruises Review Manager — Frontend Styles
   ============================================================ */

.fg-wrap{width:100%;max-width:100%;margin:0 auto;padding:10px 0;font-size:16px;color:#1c2b3a;box-sizing:border-box;}
.fg-wrap.fg-alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:16px;padding-right:16px;}
.fg-section-head{font-size:15px;letter-spacing:.25em;text-transform:uppercase;color:#1e6fa0;text-align:center;margin:40px 0 7px;}
.fg-section-rule{height:1px;background:linear-gradient(to right,transparent,#1e6fa0,transparent);margin-bottom:26px;}

/* Universal tools box */
.fg-universal-tools{background:#fff;border:1px solid #d6e6f2;border-radius:10px;padding:20px;margin-bottom:30px;box-shadow:0 2px 12px rgba(10,31,54,.07);}
.fg-universal-title{font-size:1.4rem;font-weight:700;color:#0a1f36;margin:0 0 6px;text-align:center;}
.fg-universal-subtitle{font-size:.9rem;color:#3d5060;text-align:center;margin:0 0 18px;font-style:italic;}
.fg-universal-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:20px;}
.fg-universal-btn{display:inline-block;padding:12px 20px;background:#1e6fa0;color:#fff;text-decoration:none;border-radius:6px;font-weight:600;font-size:.9rem;transition:all .2s;cursor:pointer;}
.fg-universal-btn:hover{background:#0a4f8f;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(30,111,160,.3);}
.fg-universal-btn:visited{color:#fff;}

/* Quick jump */
.fg-quick-jump{margin-top:0;text-align:center;}
.fg-quick-jump-label{font-size:.85rem;font-weight:600;color:#0a1f36;margin-bottom:8px;display:block;}
.fg-quick-jump-select{padding:8px 12px;font-size:.9rem;border:1px solid #d6e6f2;border-radius:6px;cursor:pointer;min-width:220px;transition:all .2s;}
.fg-quick-jump-select:hover{border-color:#1e6fa0;box-shadow:0 2px 8px rgba(30,111,160,.2);}

/* Ship card */
.fg-card{background:#fff;border:1px solid #d6e6f2;border-radius:10px;overflow:hidden;margin-bottom:24px;box-shadow:0 2px 12px rgba(10,31,54,.07);}
.fg-card:hover{box-shadow:0 6px 24px rgba(10,31,54,.13);border-color:#a8cce0;}
.fg-content{flex:1;min-width:260px;padding:22px 26px 20px;display:flex;flex-direction:column;box-sizing:border-box;}

/* Ship header */
.fg-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px;}
.fg-ship-name{font-size:1.55rem;font-weight:700;color:#0a1f36;margin:0;line-height:1.2;}
.fg-year-badge{background:#2196F3;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;border-radius:4px;white-space:nowrap;flex-shrink:0;margin-top:4px;}
.fg-class-tag{font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:#1e6fa0;margin:0 0 12px;}

/* Rating */
.fg-rating{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:#f39c12;margin-left:12px;}
.fg-rating-stars{letter-spacing:2px;}

/* Description + image */
.fg-desc-image-wrap{display:flex;gap:20px;align-items:flex-start;margin-bottom:16px;}
.fg-desc-col{flex:1;min-width:0;}
.fg-description{font-size:1rem;color:#3d5060;line-height:1.7;margin:0;}
.fg-image-col{position:relative;flex:1;min-width:0;max-width:400px;}
.fg-inline-image{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:10px;height:280px;}
.fg-inline-image img{width:100%;height:100%;object-fit:cover;display:block;}

/* Ribbon */
.fg-ribbon{position:absolute;top:12px;left:-8px;background:#ffd700;color:#000;padding:6px 12px;font-size:.8rem;font-weight:600;border:2px solid #000;border-radius:2px;transform:rotate(-5deg);z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.15);letter-spacing:.5px;}

/* Stats bar */
.fg-stats{display:flex;border:1px solid #d6e6f2;border-radius:7px;overflow:hidden;margin-bottom:0;text-align:center;}
.fg-stat{flex:1;padding:10px 6px;border-right:1px solid #d6e6f2;}
.fg-stat:last-child{border-right:none;}
.fg-stat-val{font-size:.95rem;font-weight:600;color:#0a1f36;}
.fg-stat-key{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#7a9ab0;margin-top:3px;}

/* Spacing between sections */
.fg-stats + .fg-history,
.fg-stats + .fg-videos,
.fg-history + .fg-videos {margin-top:16px;}

/* Trip reports */
.fg-history{background:#f0f7ff;border-left:3px solid #2a6496;border-radius:0 7px 7px 0;padding:12px 16px;margin-bottom:0;}
.fg-history-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#2a6496;margin:0 0 10px;font-weight:600;}
.fg-history-text{font-size:.95rem;color:#3d5a70;font-style:italic;margin:0 0 12px;line-height:1.6;}

.fg-trip-reports{display:flex;flex-direction:column;gap:10px;}
.trip-year{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.trip-year-heading{font-size:16px;font-weight:700;margin:0;color:#0a1f36;min-width:60px;}
.trip-reports-list{display:flex;flex-wrap:wrap;gap:12px;align-items:center;flex:1;}
.trip-reports-list a{display:inline-block;color:#1e6fa0;text-decoration:none;font-size:.95rem;font-weight:500;padding:10px 14px;border:1px solid #1e6fa0;border-radius:5px;transition:all .2s;}
.trip-reports-list a:hover{color:#fff;background-color:#1e6fa0;border-color:#1e6fa0;}

/* Upcoming badge */
.trip-reports-list a.upcoming::after{content:"Cruising Soon!";display:inline-block;background:#f0ad4e;color:#fff;font-size:.75rem;font-weight:600;padding:3px 8px;border-radius:3px;margin-left:8px;white-space:nowrap;}

/* Videos */
.fg-videos{background:#ffe8e8;border-left:3px solid #d9534f;border-radius:0 7px 7px 0;padding:12px 16px;margin-top:16px;}
.fg-videos-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#a94442;margin:0 0 10px;font-weight:600;}
.fg-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.fg-video-item{display:flex;gap:10px;align-items:flex-start;}
.fg-video-thumbnail{flex-shrink:0;width:100px;height:56px;background:#000;border-radius:4px;overflow:hidden;}
.fg-video-thumbnail img{width:100%;height:100%;object-fit:cover;}
.fg-video-info{flex:1;min-width:0;}
.fg-video-title{font-size:.9rem;font-weight:600;color:#0a1f36;margin:0 0 4px;line-height:1.3;}
.fg-video-link{display:inline-block;font-size:.8rem;color:#d9534f;text-decoration:none;border-bottom:1px solid #d9534f;transition:color .2s;}
.fg-video-link:hover{color:#a94442;border-bottom-color:#a94442;}

/* Back to top */
.fg-back-to-top{text-align:center;margin-top:30px;}
.fg-back-to-top a{display:inline-block;color:#1e6fa0;text-decoration:none;font-weight:600;font-size:.9rem;padding:10px 20px;border:1px solid #1e6fa0;border-radius:5px;transition:all .2s;}
.fg-back-to-top a:hover{color:#fff;background-color:#1e6fa0;}

/* Footer */
.fg-footer{text-align:center;font-size:.85rem;color:#8a9ab0;margin-top:20px;padding-top:20px;border-top:1px solid #d6e6f2;}

/* Responsive */
@media (max-width:768px){
    .fg-desc-image-wrap{flex-direction:column;gap:16px;}
    .fg-image-col{max-width:100%;}
    .fg-inline-image{height:240px;}
    .fg-video-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
    .fg-ship-name{font-size:1.3rem;}
    .fg-content{padding:18px 18px 16px;}
    .fg-universal-buttons{flex-direction:column;}
    .fg-universal-btn{width:100%;text-align:center;}
    .fg-quick-jump-select{width:100%;min-width:auto;}
}

/* ============================================================
   Hub Footer Blocks (awards / resources / methodology)
   ============================================================ */
.ch-wrap{width:100%;max-width:100%;margin:0 auto;padding:10px 0;font-size:16px;color:#1c2b3a;box-sizing:border-box;}
.ch-section-head{font-size:15px;letter-spacing:.25em;text-transform:uppercase;color:#1e6fa0;text-align:center;margin:25px 0 5px;}
.ch-section-rule{height:1px;background:linear-gradient(to right,transparent,#1e6fa0,transparent);margin-bottom:16px;}

.ch-awards-wrap{background:linear-gradient(135deg,#f5f7f9 0%,#fafbfc 100%);border:1px solid #d6e6f2;border-radius:10px;padding:30px 20px;margin:25px 0;}
.ch-awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:20px;}
.ch-award-card{background:#fff;padding:22px;border-radius:10px;border:1px solid #d6e6f2;border-top:4px solid #d9534f;box-shadow:0 2px 12px rgba(10,31,54,.07);}
.ch-award-icon{font-size:2.2rem;margin-bottom:12px;display:block;}
.ch-award-title{font-size:1.1rem;font-weight:600;color:#0a1f36;margin:0 0 8px;}
.ch-award-ships{color:#1e6fa0;font-size:.9rem;font-weight:600;margin:0 0 12px;}
.ch-award-list{text-align:left;color:#3d5060;font-size:.9rem;line-height:1.7;padding-top:12px;border-top:1px solid #e0e0e0;}

.ch-resources-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px;}
.ch-resource-card{background:#fff;padding:24px;border-radius:10px;border:1px solid #d6e6f2;border-left:4px solid #5cb85c;box-shadow:0 2px 12px rgba(10,31,54,.07);}
.ch-resource-card.methodology{border-left-color:#3F51B5;}
.ch-resource-card.cabin{border-left-color:#d9534f;}
.ch-resource-icon{font-size:2rem;margin-bottom:12px;display:block;}
.ch-resource-title{font-size:1.15rem;font-weight:600;color:#0a1f36;margin:0 0 10px;}
.ch-resource-desc{color:#3d5060;font-size:.95rem;line-height:1.6;margin:0 0 14px;}
.ch-resource-link{color:#1e6fa0;text-decoration:none;font-weight:600;transition:color .3s;display:inline-block;}
.ch-resource-link:hover{color:#0a4f8f;}

.ch-methodology-table{width:100%;border-collapse:collapse;margin-top:16px;background:#fff;border-radius:6px;overflow:hidden;}
.ch-methodology-table th{background:#f5f7f9;padding:12px 14px;text-align:left;font-weight:600;color:#0a1f36;border-bottom:2px solid #d6e6f2;font-size:.9rem;}
.ch-methodology-table td{padding:12px 14px;border-bottom:1px solid #e0e0e0;color:#3d5060;font-size:.9rem;}
.ch-methodology-table tr:last-child td{border-bottom:none;}
.ch-score-badge{display:inline-block;background:#f0f7ff;padding:4px 10px;border-radius:4px;font-weight:600;color:#1e6fa0;font-size:.85rem;}

@media(max-width:768px){
    .ch-awards-grid,.ch-resources-grid{grid-template-columns:1fr;}
    .ch-methodology-table th,.ch-methodology-table td{padding:10px;font-size:.85rem;}
}
