/* Like Girl Responsive Main Stylesheet */
/* Consolidates big.css, medium.css, small.css, small-x.css */

:root {
  --container-width-lg: 1140px;
  --container-width-md: 960px;
  --container-width-sm: 720px;
  --container-width-xs: 540px;
}

/* Utilities */
.mb-4 { margin-bottom: 1.5rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-2rem { margin-top: 2rem; }
.w125 { width: 100% !important; }

/* Base Reset & Grid System */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  gap: 0 !important; /* Override content.css grid gap */
}

/* Common column properties */
[class*="col-"] {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  box-sizing: border-box;
}

/* Default / Extra Small (xs) - Mobile First */
.col-1, .col-sm-x-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.col-2, .col-sm-x-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-3, .col-sm-x-3 { flex: 0 0 25%; max-width: 25%; }
.col-4, .col-sm-x-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-5, .col-sm-x-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-6, .col-sm-x-6 { flex: 0 0 50%; max-width: 50%; }
.col-7, .col-sm-x-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.col-8, .col-sm-x-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.col-9, .col-sm-x-9 { flex: 0 0 75%; max-width: 75%; }
.col-10, .col-sm-x-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.col-11, .col-sm-x-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.col-12, .col-sm-x-12 { flex: 0 0 100%; max-width: 100%; }

/* Container */
.central {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

/* Small Devices (Landscape Phones) >= 576px */
@media (min-width: 576px) {
  .central { max-width: 540px; }
  
  .col-sm-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .col-sm-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-sm-3 { flex: 0 0 25%; max-width: 25%; }
  .col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-sm-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
  .col-sm-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-sm-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-sm-9 { flex: 0 0 75%; max-width: 75%; }
  .col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Medium Devices (Tablets) >= 768px */
@media (min-width: 768px) {
  .central { max-width: 720px; }
  
  .col-md-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-md-3 { flex: 0 0 25%; max-width: 25%; }
  .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-md-6 { flex: 0 0 50%; max-width: 50%; }
  .col-md-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-md-9 { flex: 0 0 75%; max-width: 75%; }
  .col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-md-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Large Devices (Desktops) >= 992px */
@media (min-width: 992px) {
  .central { max-width: 960px; }
  
  .col-lg-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
  .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
  .col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-lg-9 { flex: 0 0 75%; max-width: 75%; }
  .col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Extra Large Devices (Large Desktops) >= 1200px */
@media (min-width: 1200px) {
  .central { max-width: 1140px; }
}

/* Special Central Widths (override media queries) */
.central-800 {
    max-width: 800px !important;
    margin: 0 auto;
    padding-right: 15px;
    padding-left: 15px;
    box-sizing: border-box;
}

.central-600 {
    max-width: 600px !important;
    margin: 0 auto;
    padding-right: 15px;
    padding-left: 15px;
    box-sizing: border-box;
}

/* Specific Style Overrides */

/* Mobile (<= 767px) */
@media (max-width: 767px) {
    .central.bg .row .card .inputbox {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        padding: 3rem 0 0;
        flex-direction: column;
    }
    
    .love_img .card-imgs img {
        width: 100% !important;
    }
    
    .card-wrap .card-b {
        width: 100%;
        margin-bottom: 1rem;
    }
    
    .bg-img {
        padding-top: 5rem;
    }
    
    .bg-img .middle {
        flex-direction: row;
        padding: 0;
        align-items: center;
    }
    
    .bg-img .middle img {
        border-width: 3px;
    }
    
    .bg-img .middle .love-icon img {
        border: none;
        margin-top: 1.5rem;
    }

    .name-tag {
        padding: 2px 10px;
        font-size: 0.9rem;
        margin-top: 0.5rem;
    }
}

/* Extra Small (<= 600px) */
@media (max-width: 600px) {
    :root {
        font-size: 13px;
    }
    
    .card-wrap .card-b {
        width: 95%;
        padding: 1.5rem 1rem;
    }
    
    .card-wrap .card-b img {
        width: 4rem;
        margin-right: 1rem;
    }

    .header-btn-wrap .header-btn .btnClass span a b {
        display: none;
    }
    
    .central.bg .row .card .inputbox input {
        margin: 0.5rem 0;
        width: 100%;
        padding: 0.8rem;
    }
    
    .central.bg .row .card .inputbox .rig,
    .central.bg .row .card .inputbox .let {
        width: 100%;
        margin-right: 0;
        box-sizing: border-box;
    }
    
    .header-wrap .header .word {
        display: none;
    }
    
    .header-wrap .header .logo h1 {
        font-size: 1.2rem;
    }
}

/* Fix for card hover effect on touch devices */
@media (hover: none) {
    .card-wrap .row .card:hover {
        transform: none;
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }
}

.footer-warp .footer {
    padding: 3rem 1rem;
    text-align: center;
    font-family: 'Noto Serif SC', serif;
}

.footer-badges {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.footer-badge {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border-radius: 50px;
    padding: 8px 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), color 0.3s ease;
    text-decoration: none !important;
    color: #666;
    font-size: 0.95rem;
    border: 1px solid rgba(0,0,0,0.03);
}

.footer-badge:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    color: #ff9a9e; /* Theme pink */
}

.badge-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    color: #ff9a9e;
    font-size: 1.1rem;
    width: 1.5rem; /* Fixed width for alignment */
}

.badge-icon img {
    width: 1.2rem;
    height: 1.2rem;
    vertical-align: middle;
    display: block;
}

.badge-text {
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Specific styling for copy badge to differentiate slightly if needed */
.copy-badge {
    cursor: default;
}

/* Responsive */
@media (max-width: 576px) {
    .footer-badges {
        flex-direction: column;
        gap: 1rem;
    }
    
    .footer-badge {
        width: 100%;
        justify-content: center;
        max-width: 300px;
        box-sizing: border-box;
    }
}
