/* Reset & Base Styles */
* {
    box-sizing: border-box;
}

.page-container {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
}

/* Image Utilities - Scoped to page content to avoid breaking footer/header */
.page-container img {
    display: block;
    /* Removes bottom space in layout */
    max-width: 100%;
    height: auto;
}

/* Flex Container for Sliced Images */
.image-row {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    margin: 0;
    padding: 0;
}

.image-row img {
    height: auto;
}

/* Section specific spacers (replacing spacer.gif) */
.spacer-10 {
    height: 10px;
}

.spacer-20 {
    height: 20px;
}

.spacer-30 {
    height: 30px;
}

.spacer-40 {
    height: 40px;
}

.spacer-76 {
    height: 76px;
}

/* Text Content Sections */
.content-section {
    padding: 20px 0;
}

.product-description {
    display: flex;
    gap: 0;
    align-items: flex-start;
}

.product-image {
    width: 330px;
    flex-shrink: 0;
}

.product-text {
    flex-grow: 1;
    padding-left: 0;
    /* Original layout had no padding here, relying on col structure */
    font-size: 16px;
    line-height: 20px;
}

.product-text b {
    color: #000;
}

.sub-text {
    font-size: 13px;
    display: block;
    margin-bottom: 5px;
}

.red-wavy-underline {
    text-decoration: underline 1px wavy red;
    text-underline-offset: 0.1em;
}

/* PDF Links Section */
.pdf-link-section {
    display: flex;
    align-items: center;
}

/* Iframe Containers */
.iframe-container {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.iframe-container iframe {
    width: 100%;
    display: block;
    border: none;
    overflow: hidden;
    /* Force hide scrollbars */
}

/* Caution Section */
.caution-section {
    padding: 0 10px;
}

.caution-header {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 10px;
}

.caution-text {
    font-size: 11px;
    line-height: 17px;
}

.caution-text b {
    font-size: 13px;
    display: block;
    margin-top: 15px;
    margin-bottom: 5px;
}

.caution-link-box {
    text-align: center;
    padding: 5px 0;
}

.caution-link-box a {
    text-decoration: none;
    font-size: 15px;
}

.caution-link-box a:hover {
    text-decoration: underline;
}

/* Footer Links */
.magicone-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
}

.footer-link-item {
    margin: 0;
}

/* Separators (Image Replacements) */
.separator-gray-3 {
    height: 3px;
    background-color: #ededed;
    /* Approximate color from gif context or standard gray spacer */
    border-bottom: 1px solid #ccc;
    /* Optional definition if it was a line */
    width: 100%;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .body {
        display: flex;
    }

    .product-description {
        flex-direction: column;
    }

    .product-image {
        width: 100%;
        /* max-width: 330px; */
        margin-bottom: 10px;
    }

    .product-text {
        width: 100%;
        padding-left: 10px;
        /* Add some padding for text on mobile */
        padding-right: 10px;
    }

    .caution-section {
        padding: 0 15px;
        /* More padding on small screens */
    }
}