/* HEADER & NAVIGATION */
.header-area, .hero { text-align: center; margin-bottom: 40px; }
.company-logo, .circle-logo { 
    width: 100px; height: 100px; border-radius: 50%; 
    object-fit: cover; border: 2px solid #e6e6e6; 
}
.cont-prop {width: 60%; line-height: 1.1;}
@media (max-width: 600px) { .cont-prop {width: 100%;} }

/* CARDS - Merged several variations into a cleaner pattern */
.card, .menu-card, .list-card {
    background: #fff;
    padding: 18px;
    border-radius: 16px;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    gap: 8px;
    border: 1px solid transparent;
}

.card:hover, .menu-card:hover {
    border-color: var(--primary);
    transform: translateY(-4px);
}

.list-card { flex-direction: row; align-items: center; justify-content: space-between; }
.icon { font-size: 24px; margin-bottom: 12px; }

/* BUTTONS */
.btn-primary {
    background: var(--primary-container);
    padding: 12px 24px;
    border-radius: 50px;
    font-weight: 700;
    display: inline-block;
}

/* LAUNDRY SPECIFIC */
.category-block {
    display: inline-block; 
    width: 100%;
    margin-bottom: 30px; /* Vertical gap between fluid blocks */
    break-inside: avoid; /* Modern way to prevent block splitting */
    /* background: #fff; */
}

.item-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--outline);
}
/* .item-row { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; padding: 3px 0; } */
.item-name { flex-shrink: 0; }
/* .item-dots { flex-grow: 1; border-bottom: 1px dotted var(--outline); position: relative; top: -4px; } */
.item-price { flex-shrink: 0; font-weight: 700; color: var(--primary); white-space: nowrap;}
/* .cat-heading {margin-bottom: 30px; border-bottom: 1px solid #eee; padding-bottom: 10px;} */
.cat-heading {margin-top: 20px; border-bottom: 2px solid var(--primary-container); display: inline-block;}
.row-highlight { margin-top: 40px; padding: 24px; background-color: var(--surface-container); border-radius: 16px;}

/* Policy/Text Layouts */
.text-section { max-width: 800px; margin: 0 auto; padding: 40px 0; }
.text-section h3 { margin-top: 40px; border-bottom: 2px solid var(--primary-container); display: inline-block; }

/* BREADCRUMB NAVIGATION */
.breadcrumb {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 1.3rem;
    color: var(--secondary);
    margin-top: 24px;
    margin-bottom: 24px;
}

.breadcrumb a {
    color: var(--secondary);
    text-decoration: none;
}

.breadcrumb a:hover {
    color: var(--primary);
    font-weight: 600;
}

.breadcrumb .separator {
    opacity: 0.5;
}

.breadcrumb .current {
    color: var(--on-surface);
    font-weight: 700;
}

/* FOOTER */
footer {
    text-align: center;
    padding: 40px 20px;
    border-top: 1px solid var(--outline);
    margin-top: 60px;
}