/*
 * Strictly scoped styles - only affects elements within the calculator container
 * All rules use !important to prevent conflicts with WordPress theme styles.
 */

/* Main Container */
#tile-calculator-container {
    font-family: 'Inter', Arial, sans-serif !important;
    background-color: #f7f7f7 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin: 20px 0 !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
    color: #333 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

#tile-calculator-container * {
    box-sizing: border-box !important;
}

#tile-calculator-container .title {
    margin: 0 !important;
    text-align: center !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #2c2c2c !important;
}

/* Control Panel Layout */
#tile-calculator-container .controls-panel {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.main-controls-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important; /* Changed from flex-end to center */
    align-items: flex-end !important;
    gap: 15px !important; /* Increased gap slightly for better spacing */
}

/* Base style for all input groups */
.input-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.input-group label {
    font-size: 14px !important;
    color: #666 !important;
    margin-bottom: 5px !important;
}

/* Container for multiple inputs/buttons */
.input-fields {
    display: flex !important;
    gap: 5px !important;
}

/* Individual input fields and selects */
.input-group input, .input-group select, .toggle-group {
    padding: 8px 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    background-color: #fff !important;
    color: #333 !important;
    text-align: center !important;
    height: 38px !important; /* Set a fixed height for consistency */
}

/* Tile Size inputs with labels */
.size-input-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.size-input-wrapper input {
    width: 80px !important;
    padding-left: 10px !important;
    box-sizing: border-box !important;
}

.size-input-wrapper .size-label {
    font-size: 16px !important;
    color: #333 !important;
    font-weight: bold !important;
}

/* Price input with dollar sign */
.price-input-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

#tilePriceInput {
    padding-left: 20px !important;
    text-align: left !important;
    width: 100px !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    appearance: none !important;
}

#tilePriceInput::-webkit-outer-spin-button,
#tilePriceInput::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.currency-symbol {
    position: absolute !important;
    left: 8px !important;
    color: #666 !important;
    font-size: 16px !important;
}

/* Toggle Button Group */
.toggle-group {
    display: flex !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background-color: #fff !important;
    padding: 0 !important;
}

.toggle-group button {
    padding: 8px 12px !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    background-color: transparent !important;
    color: #666 !important;
    transition: all 0.2s ease !important;
}

.toggle-group button.active {
    background-color: #4a6e32 !important;
    color: white !important;
}

.toggle-group button:not(.active):hover {
    background-color: #f0f0f0 !important;
}

/* General Buttons */
.button-group {
    display: flex !important;
    align-items: flex-end !important;
    gap: 10px !important;
}

.tile-calc-btn {
    background-color: #4a6e32 !important;
    color: white !important;
    padding: 10px 15px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    transition: background-color 0.3s ease !important;
}

.tile-calc-btn:hover {
    background-color: #3a5826 !important;
}

/* Tile Preview */
.tile-preview-container {
    position: relative !important;
    width: 80px !important;
    height: 80px !important;
    border: 2px solid #ccc !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background-color: #fff !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

#tilePreviewCanvas {
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
}

.remove-btn {
    position: absolute !important;
    top: 5px !important;
    right: 5px !important;
    background-color: rgba(255, 0, 0, 0.7) !important;
    color: white !important;
    border-radius: 50% !important;
    width: 20px !important;
    height: 20px !important;
    justify-content: center !important;
    align-items: center !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

.remove-btn:hover {
    background-color: rgba(255, 0, 0, 1) !important;
}

/* Canvas for Room Drawing */
#tileCanvas {
    border: 1px solid #624a2e !important;
    display: block !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    height: auto !important;
    background-color: #fff !important;
    cursor: crosshair !important;
    border-radius: 8px !important;
}

/* Results Panel */
.results-panel {
    background-color: #e8f5e9 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    text-align: center !important;
}

.results-panel h3 {
    margin: 0 0 10px 0 !important;
    font-size: 20px !important;
    color: #3a5826 !important;
}

.results-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 10px !important;
}

.result-item {
    background-color: #fff !important;
    padding: 10px !important;
    border-radius: 6px !important;
    text-align: center !important;
}

.result-item .label {
    display: block !important;
    font-size: 14px !important;
    color: #666 !important;
    margin-bottom: 5px !important;
}

.result-item span:last-child {
    font-size: 18px !important;
    font-weight: bold !important;
    color: #4a6e32 !important;
}

/* Products Panel */
.products-panel h3 {
    margin: 0 0 10px 0 !important;
    font-size: 20px !important;
    color: #2c2c2c !important;
    text-align: center !important;
}

.product-list {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 20px !important;
}

.product-card {
    background-color: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
    padding: 15px !important;
    text-align: center !important;
    width: 200px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between;
}

.product-card a.product-link {
    text-decoration: none !important;
}

.product-card img {
    max-width: 100% !important;
    height: 150px !important;
    object-fit: contain;
    border-radius: 4px !important;
    margin-bottom: 10px !important;
}

.product-card h4 {
    margin: 0 0 5px 0 !important;
    font-size: 16px !important;
    color: #333 !important;
    min-height: 40px; /* Give space for 2 lines of text */
}

.product-card .price {
    font-weight: bold !important;
    color: #4a6e32 !important;
    font-size: 18px !important;
    margin-bottom: 10px !important;
}

.product-card .add-to-cart {
    background-color: #4a6e32 !important;
    color: white !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: background-color 0.2s ease !important;
    cursor: pointer !important;
    border: none !important;
    width: 100%;
}

.product-card .add-to-cart:hover {
    background-color: #3a5826 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .main-controls-row {
        flex-direction: column !important;
        align-items: center !important;
    }
}
