/* * ========================================================================== * ๐Ÿ’ก tech_section ๋ชจ๋“ˆ ์ „์šฉ ์Šคํƒ€์ผ์‹œํŠธ * ========================================================================== */ /* --- 1. ์„น์…˜ ๊ธฐ๋ณธ ์Šคํƒ€์ผ --- */ .products-trend-section { width: 100%; padding: 80px 0; background-color: #ffffff; /* ๋˜๋Š” ์›ํ•˜๋Š” ๋ฐฐ๊ฒฝ์ƒ‰ */ } /* --- 2. ์„น์…˜ ํ—ค๋” (์ œ๋ชฉ, ๋ถ€์ œ) --- */ .section-header { text-align: center; margin-bottom: 50px; } .section-header .subtitle { font-size: 16px; font-weight: 700; color: #0056b3; /* ํฌ์ธํŠธ ์ƒ‰์ƒ */ margin-bottom: 10px; display: block; } .section-header h2 { font-size: 36px; font-weight: 900; color: #25282B; /* ๊ธฐ๋ณธ ํ…์ŠคํŠธ ์ƒ‰์ƒ */ margin-bottom: 15px; line-height: 1.4; } .section-header p { font-size: 16px; line-height: 1.7; color: #666; max-width: 600px; margin: 0 auto; } /* --- 3. ์ œํ’ˆ ์นด๋“œ ๊ทธ๋ฆฌ๋“œ --- */ .product-grid { display: grid; /* ๐Ÿ’ก ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ 1~3๊ฐœ์˜ ์ปฌ๋Ÿผ์œผ๋กœ ์ž๋™ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. */ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; } /* --- 4. ๊ฐœ๋ณ„ ์ œํ’ˆ ์นด๋“œ --- */ .product-card-trend { background-color: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; } .product-card-trend:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); } /* --- 5. ์นด๋“œ ๋‚ด๋ถ€ ์š”์†Œ --- */ .product-image-trend { width: 100%; /* ๐Ÿ’ก ์ด๋ฏธ์ง€ ๋น„์œจ์„ 4:3์œผ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. */ aspect-ratio: 4 / 3; overflow: hidden; } .product-image-trend.is-patent { padding: 20px; background-color: #f0f0f0; } .product-image-trend img { width: 100%; height: 100%; object-fit: cover; /* ์ด๋ฏธ์ง€๊ฐ€ ์ž˜๋ฆฌ์ง€ ์•Š๊ณ  ๊ฝ‰ ์ฐจ๋„๋ก ์„ค์ • */ transition: transform 0.4s ease; } .product-card-trend:hover .product-image-trend img { transform: scale(1.05); } .product-info-trend { padding: 25px; } .product-info-trend h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; color: #333; } .product-info-trend p { font-size: 0.95rem; color: #666; line-height: 1.6; } /* --- 9. ์Šคํฌ๋กค ์• ๋‹ˆ๋ฉ”์ด์…˜ (style_prestige_1.css์—์„œ ๊ฐ€์ ธ์˜ด) --- */ .reveal-up, .reveal-fade { opacity: 0; transition: opacity 0.8s ease-out, transform 0.8s ease-out; } .reveal-up { transform: translateY(40px); } .reveal-fade { transform: scale(0.95); } .reveal-up.is-revealed, .reveal-fade.is-revealed { opacity: 1; transform: none; } /* --- 10. [๋ชจ๋“ˆ ์ „์šฉ] ์ด๋ฏธ์ง€ ํŒ์—… ๋ชจ๋‹ฌ ์Šคํƒ€์ผ (๊ฐœ์„ ) --- */ .image-modal { display: none; /* ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆจ๊น€ */ position: fixed; z-index: 1050; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; /* ๋‚ด์šฉ์ด ํด ๊ฒฝ์šฐ ์Šคํฌ๋กค */ background-color: rgba(0, 0, 0, 0.85); justify-content: center; align-items: center; padding: 40px 20px; /* ํ™”๋ฉด ๊ฐ€์žฅ์ž๋ฆฌ์™€ ์—ฌ๋ฐฑ */ opacity: 0; transition: opacity 0.3s ease; } .image-modal.is-active { display: flex; opacity: 1; } .modal-content { position: relative; background-color: #fff; margin: auto; padding: 0; border-radius: 8px; width: auto; /* ๋„ˆ๋น„๋ฅผ ์ž๋™์œผ๋กœ ์„ค์ • */ max-width: 100%; /* ํ™”๋ฉด ๋„ˆ๋น„๋ฅผ ๋„˜์ง€ ์•Š๋„๋ก ์„ค์ • */ box-shadow: 0 5px 15px rgba(0,0,0,.5); animation: modal-slide-down 0.4s ease-out; display: flex; /* ๋‚ด๋ถ€ ์š”์†Œ ์ •๋ ฌ์„ ์œ„ํ•ด flex ์‚ฌ์šฉ */ flex-direction: column; /* ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ๋ฅผ ์„ธ๋กœ๋กœ ์Œ“์Œ */ } @keyframes modal-slide-down { from { transform: translateY(-50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .modal-content .modal-image { display: block; max-width: 90vw; max-height: 80vh; object-fit: contain; width: auto; height: auto; } .modal-info { padding: 20px 25px; max-width: 800px; /* ํ…์ŠคํŠธ ์˜์—ญ์˜ ์ตœ๋Œ€ ๋„ˆ๋น„๋Š” ์ œํ•œ */ width: 100%; } .modal-info .modal-title { font-size: 1.5rem; font-weight: 700; color: #333; margin: 0 0 10px 0; } .modal-info .modal-desc { font-size: 1rem; color: #666; line-height: 1.6; margin: 0; } .close-btn { color: #fff; position: absolute; top: 15px; right: 25px; font-size: 35px; font-weight: bold; cursor: pointer; transition: color 0.2s; text-shadow: 0 1px 3px rgba(0,0,0,0.5); z-index: 10; } .close-btn:hover, .close-btn:focus { color: #ccc; text-decoration: none; } /* --- 11. [๊ฐœ์„ ] ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์ค„๋ฐ”๊ฟˆ ์ฒ˜๋ฆฌ --- */ .section-header h2, .section-header p, .product-info-trend h3, .product-info-trend p, .item-info h3, .item-info p { word-break: keep-all; overflow-wrap: break-word; } /* --- 12. [๊ฐœ์„ ] ์นด๋“œ ์„ค๋ช… ํ…์ŠคํŠธ ์ž˜๋ฆผ ๋ฐฉ์ง€ ๋ฐ ๋†’์ด ๊ณ ์ • --- */ .product-info-trend p, .item-info p { height: 3.04rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; line-height: 1.6; } /* -------------------------------------------------- */ /* ๐Ÿ’ก [์ตœ์ข… ์ˆ˜์ •] ๋ชจ๋‹ฌ ์Šคํฌ๋กค๋ฐ” ์™„์ „ ์ˆจ๊น€ ์ฒ˜๋ฆฌ */ /* -------------------------------------------------- */ /* 1. ๊ธฐ๋ณธ ์ƒํƒœ: ์Šคํฌ๋กค๋ฐ”๋ฅผ ์™„์ „ํžˆ ํˆฌ๋ช…ํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. */ .rb-modal-overlay, .rb-modal-body { /* Firefox: ์Šคํฌ๋กค๋ฐ” ์ƒ‰์ƒ์„ ์–‘์ชฝ ๋ชจ๋‘ ํˆฌ๋ช…ํ•˜๊ฒŒ ์„ค์ • */ scrollbar-color: transparent transparent; scrollbar-width: thin; transition: scrollbar-color 0.3s ease; /* ๋ถ€๋“œ๋Ÿฌ์šด ํšจ๊ณผ๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€ */ } .rb-modal-overlay::-webkit-scrollbar, .rb-modal-body::-webkit-scrollbar { width: 10px; } .rb-modal-overlay::-webkit-scrollbar-track, .rb-modal-body::-webkit-scrollbar-track { background: transparent; } .rb-modal-overlay::-webkit-scrollbar-thumb, .rb-modal-body::-webkit-scrollbar-thumb { /* Webkit: ์Šคํฌ๋กค๋ฐ” ๋ง‰๋Œ€๋ฅผ ํˆฌ๋ช…ํ•˜๊ฒŒ */ background-color: transparent; border-radius: 10px; border: 3px solid transparent; background-clip: padding-box; transition: background-color 0.3s ease; } /* 2. :hover ์ƒํƒœ: ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์Šคํฌ๋กค๋ฐ”๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. */ .rb-modal-overlay:hover, .rb-modal-body:hover { /* Firefox: ์Šคํฌ๋กค๋ฐ” ์ƒ‰์ƒ์„ ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ */ scrollbar-color: rgba(0, 0, 0, 0.4) transparent; } .rb-modal-overlay:hover::-webkit-scrollbar-thumb, .rb-modal-body:hover::-webkit-scrollbar-thumb { /* Webkit: ์Šคํฌ๋กค๋ฐ” ๋ง‰๋Œ€ ์ƒ‰์ƒ์„ ๋ณด์ด๊ฒŒ ๋ณ€๊ฒฝ */ background-color: rgba(0, 0, 0, 0.4); }